Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.07.2012, 21:55
rafffkaaa rafffkaaa вне форума
Прохожий
 
Регистрация: 14.07.2012
Сообщения: 10
Репутация: 10
По умолчанию Проблемы с indy - get

Весь прикол в том, что если отправлять запрос из браузера, то все ок.
И если попробовать через webbrowser отправить, то тоже все проходит гладко.
А вот когда Я пробую задействаовать индюшку, то вылетает ошибка
На synapse попробовал тоже - ошибка 500.
PHP код:
procedure TForm5.Getz;
var
  
saltstring// переменная для соли
  
hashstring//  для хэша
  
zaprosstring// для запроса
  
linkstring// ссылку которую получаем
begin
  link 
:= edit1.Text+'@'+ms;
  
salt := '13qus'// это соль
  
salt := salt+link+link+salt+salt;
  
hash := md5(trim(salt));   // делаем хэш
  
zapros := 'http://server.odbot.ru/server.php?ip='+ip+'&link='+link+'&hash='+hash;
  try
    
begin
      IdHTTP3
.Get(zapros); // вот тут собственно проблемы
      
Edit1.Enabled := false
      
ComboBox1.Enabled := false;
      
klm := 1;
    
end;
  
except
    begin
      ShowMessage
('Ошибко');
      Exit;
    
end;
  
end;
application.ProcessMessages;
end
Пробовал создать отдельный проект, т.к думал может где в другом месте накосячил. Тоже ошибки
Еще обнаружился один прикол.
Когда шло несколько запросов подряд, то она второй запихала в post первого
Ответить с цитированием
  #2  
Старый 24.07.2012, 09:07
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

закодируй параметры в URI, т.е. через %
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
rafffkaaa (26.07.2012)
  #3  
Старый 24.07.2012, 17:21
rafffkaaa rafffkaaa вне форума
Прохожий
 
Регистрация: 14.07.2012
Сообщения: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
закодируй параметры в URI, т.е. через %
Я не знаю как это
гугл молчит.
Не могу разобраться уже третий день.
Все встало
p.s про "несколько запросов подряд" вроде разобрался - на vingarde писали, что это баг indy9
Ответить с цитированием
  #4  
Старый 25.07.2012, 15:47
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
uses
  WinInet,
...
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
...
procedure TForm1.FormCreate(Sender: TObject);
var
  lpUrlComponents: URL_COMPONENTS;
  buf: array [0..$ff] of Char;
  dwUrlLength: DWORD;
begin
  ZeroMemory(@lpUrlComponents, SizeOf(URL_COMPONENTS));
  lpUrlComponents.dwStructSize:=SizeOf(URL_COMPONENTS);
  lpUrlComponents.lpszScheme:='http';
  lpUrlComponents.lpszHostName:='msdn.microsoft.com';
  lpUrlComponents.nPort:=80;
  lpUrlComponents.lpszUrlPath:='en-us/library/windows/desktop/aa384473.aspx';
  lpUrlComponents.lpszExtraInfo:='?param1=true&param2=нет';
  dwUrlLength:=SizeOf(buf);
  if not InternetCreateUrl(lpUrlComponents,
    ICU_ESCAPE,
    @buf[0],
    dwUrlLength) then RaiseLastOSError
  else Edit1.Text:=Copy(buf, 1, dwUrlLength);
end;
см. в Edit1 на параметр param2=нет
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
rafffkaaa (26.07.2012)
  #5  
Старый 26.07.2012, 14:25
rafffkaaa rafffkaaa вне форума
Прохожий
 
Регистрация: 14.07.2012
Сообщения: 10
Репутация: 10
По умолчанию

Вот полное описание проблемы:
Здравствуйте.
Уже не первый день немогу понять в чем ошибка.
Если беру готовый запрос(get) и вставляю его в браузер, то все проходит нормально.
А если отправляю запрос с delphi (пробывал indy, synapse), то запрос не отправляеться (в сниффере пусто).
Если использовать webbrowser, то в новом проекте все ок, а в котором пишу, то вылетает ошибка (страница не найдена в интернете: "ссылка". Перебивал ссылку в браузер => все ok).
Post запрос(из indy, через synapse неумею) сначало тоже не отправлялся, но после ansitoutf8 начал отправляться. Но скрипт ничего в ответ не выдал.
Скрипт на php писал Я.
В другом проекте он прекрасно работал => проблема в скрипте отпадает, т.к Я его не исправлял.
Единственное различие в том, что раньше скрипт находился в папке publik_html (<-как-то так)
Насчет хостинга неуверен, пробывал на другом хостинге, тоже самое.
Ставил timeout 10 секунд, непомогло.
Вот собственно код:
Код:
procedure TForm5.Getz;
var
  salt: string; // переменная для соли
  hash: string; //  для хэша
  zapros: string; // для запроса
  link: string; // ссылку которую получаем
begin
  link := edit1.Text+'@'+ms;
  salt := '13qus'; // это соль
  salt := salt+link+link+salt+salt;
  hash := md5(trim(salt));   // делаем хэш
  zapros := 'http://server.odbot.ru/server.php?ip='+ip+'&link='+link+'&hash='+hash;
  try
    begin
      IdHTTP3.Get(zapros); // вот тут собственно проблемы
      Edit1.Enabled := false; 
      ComboBox1.Enabled := false;
      klm := 1;
    end;
  except
    begin
      ShowMessage('Ошибко');
      Exit;
    end;
  end;
end;

p.s ip параметр не критичный, можете указать вообще любой,
klm глобальная переменная

p.s.s Также:
Ошибка вылетает такая:
"Project Project1.exe raised exception class EidHTTPProtocolException with message 'ace('d_',");' . Process stopped.
Use Step or Run to contine.
В ResponseText пустота.
Перенос скомпилинного и переименованного файла в другую папку не помог.
И еще когда Я хотел посмотреть код ошибки, чтоб разобраться в чем ошибка, то вместо кода ошибки показывало содержимое главной страницы сайта
Ответить с цитированием
  #6  
Старый 26.07.2012, 15:02
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Радость

да вроде все работает:
Код:
var
  AIdHTTP: TIdHTTP;
begin
  AIdHTTP:=TIdHTTP.Create(Self);
  try
    Memo1.Text:=AIdHTTP.Get('http://server.odbot.ru/server.php?ip=127.0.0.1&link=gg@ppc&hash=123');
    // hack detected
  finally
    AIdHTTP.Free;
  end;
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
rafffkaaa (26.07.2012)
  #7  
Старый 26.07.2012, 17:37
rafffkaaa rafffkaaa вне форума
Прохожий
 
Регистрация: 14.07.2012
Сообщения: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
да вроде все работает:
Код:
var
  AIdHTTP: TIdHTTP;
begin
  AIdHTTP:=TIdHTTP.Create(Self);
  try
    Memo1.Text:=AIdHTTP.Get('http://server.odbot.ru/server.php?ip=127.0.0.1&link=gg@ppc&hash=123');
    // hack detected
  finally
    AIdHTTP.Free;
  end;
end;
Очень странно.
А при ромощи моего скрипта не пробывали отослать?
Ответить с цитированием
  #8  
Старый 26.07.2012, 18:31
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от rafffkaaa
А при ромощи моего скрипта не пробывали отослать?
я не знаю что такое:
Цитата:
edit1.Text, ms, md5
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #9  
Старый 26.07.2012, 19:02
rafffkaaa rafffkaaa вне форума
Прохожий
 
Регистрация: 14.07.2012
Сообщения: 10
Репутация: 10
По умолчанию

edit1.text и ms любые значения.
они не критичны.
Модуль md5.(прикрепил)
Вложения
Тип файла: rar umd5.rar (3.7 Кбайт, 4 просмотров)
Ответить с цитированием
  #10  
Старый 29.07.2012, 21:18
rafffkaaa rafffkaaa вне форума
Прохожий
 
Регистрация: 14.07.2012
Сообщения: 10
Репутация: 10
По умолчанию

проблема решена, в переменной ip были символы перевода каретки.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter