1. Molen28.03.2025 в 20:25от
  2. D1zo28.03.2025 в 20:22от
  3. Gosling28.03.2025 в 19:58от
Загрузка...
Загрузка...

Delphi Synapse 'GET' в чем ошибка??

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем cocaz, 08.01.2014.

Метки:
  1. cocaz

    cocaz

    Статус:
    Оффлайн
    Регистрация:
    30.12.13
    Сообщения:
    8
    Репутация:
    0 +/-
    //delete

    Здравствуйте. возникла проблема с synapse get запросом.

    не посылает запросы вида:
    xx5.HTTPMethod('GET',edit3.Text);
    независимо от того переменная это, или стрим, или мемо.

    посылает только запросы вида:
    xx5.HTTPMethod('GET','url');

    В чем может быть проблема?

    Delphi XE3

    uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, synacode, antigate, httpsend, ssl_openssl, synautil;

    P.S. Хочу послать запрос вида:

    xx5.HTTPMethod('GET','https://e.mail.ru/sdc?token='+zzz);;

    Спасибо за помощь)

    //берем куки маил
    xx4:=THTTPSEND.Create;
    d4:=TStringStream.Create;
    xx4.UserAgent:='Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0';
    xx4.MimeType:=('application/x-www-form-urlencoded');
    d4:=TStringStream.Create('Domain='+domen+'&Login='+login+'&Password='+pass+'&new_auth_form=1');
    xx4.Document.LoadFromStream(d4);
    xx4.HTTPMethod('POST','https://auth.mail.ru/cgi-bin/auth');
    d4.Clear;
    xx4.Document.Clear;
    memo4.Text:=xx4.Cookies.Text;
    //берем токен маил
    xx4.Headers.Clear;
    xx4.HTTPMethod('GET','https://auth.mail.ru/sdc?from=https%3A%2F%2Fe.mail.ru%2Fcgi-bin%2Fmsglist%3Ffolder%3D0%26back%3D1');
    //переход по токену
    if pos('Location', xx4.Headers.Text)>0 then
    begin
    showmessage(xx4.Headers.Text);
    zzz:=copy(xx4.Headers.Text,Pos('token=',xx4.Headers.Text)+6,maxint);
    xx5:=THTTPSEND.Create;
    xx5.Headers.Add(memo4.Text);
    xx5.HTTPMethod('GET','https://e.mail.ru/sdc?token='+zzz);
    memo4.Text:=xx5.Cookies.Text;
    xx5.Document.SaveToStream(d4);
    memo3.Lines.LoadFromStream(d4);
    end;
     
    Последнее редактирование: 10.01.2014
  2. deival909

    Banned
    deival909

    Статус:
    Оффлайн
    Регистрация:
    18.12.12
    Сообщения:
    733
    Репутация:
    271 +/-
    Сами ССЛ библы в папке с софтом есть ?
     
  3. cocaz

    cocaz

    Статус:
    Оффлайн
    Регистрация:
    30.12.13
    Сообщения:
    8
    Репутация:
    0 +/-
    Библиотеки есть. Прога посылает и пост и гет запросы.
     
  4. deival909

    Banned
    deival909

    Статус:
    Оффлайн
    Регистрация:
    18.12.12
    Сообщения:
    733
    Репутация:
    271 +/-
    Тогда в чем проблема то , если все посылает ?
     
  5. Lays

    Буду 7 числа
    Lays

    Статус:
    Оффлайн
    Регистрация:
    30.09.12
    Сообщения:
    1.456
    Репутация:
    1.511 +/-
    человек же написал, что если указывает ссылку, то запрос проходит, если хочет добавить к запросу какой-то параметр, который берет с переменной или мемо, то запрос не отправляется
     
  6. Remizarr

    Remizarr

    Статус:
    Оффлайн
    Регистрация:
    21.12.13
    Сообщения:
    8
    Репутация:
    2 +/-
    Во первых, Вам нужно подключить в uses SSL_OpenSSL, SynaChar...
    Так же, если Ваша ссылка с пробелом(например, русский текст, или еще что-то), то следует использовать URLEncode(гуглите).
     
  7. FaTaL

    Няшный кодер for YouHack
    FaTaL

    Статус:
    Оффлайн
    Регистрация:
    06.10.12
    Сообщения:
    590
    Репутация:
    434 +/-
    Ну так правильно! С какого оно будет переходить?
    Сам посмотри:
    zzz:=copy(xx4.Headers.Text,Pos('token=',xx4.Headers.Text)+6,maxint);//парсит какойто токен циферки-буковки
    edit3.Text:=zzz;//Ты в едит засовываешь этот токен
    xx5.HTTPMethod('GET',edit3.Text);//а потом пытаешся перейти по адресу какомуто? ЛОЛ

    p.s xx5.HTTPMethod('GET','http://траляля'+edit3.Text); //Должен написать url :trollface:
     
  8. cocaz

    cocaz

    Статус:
    Оффлайн
    Регистрация:
    30.12.13
    Сообщения:
    8
    Репутация:
    0 +/-
    извини это от моих испытаний осталось. посылал вот так:
    xx5.HTTPMethod('GET','https://e.mail.ru/sdc?token='+zzz);
    Я и так и делал толку нет(
    вот такие библиотеки лежат libeay32.dll, libssl32.dll, msvcr71.dll, ssleay32.dll (без них вообще не посылает)
    с другими msvcr***.dll не посылает.
     
  9. cocaz

    cocaz

    Статус:
    Оффлайн
    Регистрация:
    30.12.13
    Сообщения:
    8
    Репутация:
    0 +/-
    Если у вас есть нормально работающие библиотеки для synapse(40), дайте ссылку. В Delphi я 4 день, поэтому многого не понимаю.
    P.S. Раньше писал калькуляторы в Pascal :)
     
  10. deival909

    Banned
    deival909

    Статус:
    Оффлайн
    Регистрация:
    18.12.12
    Сообщения:
    733
    Репутация:
    271 +/-
  11. Indie

    Тру кодер
    Indie

    Статус:
    Оффлайн
    Регистрация:
    18.12.12
    Сообщения:
    901
    Репутация:
    192 +/-
    Если 4 дня в делфи, то забудь про библиотеки..
    Только через 2-3 месяца работы
     
  12. cocaz

    cocaz

    Статус:
    Оффлайн
    Регистрация:
    30.12.13
    Сообщения:
    8
    Репутация:
    0 +/-
    Спасибо большое) они как раз таки и стоят у меня.
     
  13. cocaz

    cocaz

    Статус:
    Оффлайн
    Регистрация:
    30.12.13
    Сообщения:
    8
    Репутация:
    0 +/-
    Есть у кого нибудь код авторизации в mail.ru и код страницы 'https://e.mail.ru/cgi-bin/msglist?folder=0&back=1' ?

    [​IMG]