Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2011, 23:30   #1
comm1x
Новичок
Джуниор
 
Регистрация: 16.02.2011
Сообщений: 2
Вопрос Indy: Connection Closed

Доброго времени!
Возникла следующая проблема: пишу прогу под сайт, которая проходит как бы регистрацию, на первой страничке она получает куки и вводит данные... но по всей видимости куки она не получает. Я анализировал заголовки и вот что получил:

Заголовки, отправляемые/получаемые с браузера:



И заголовки которые я получаю в программе:
Date: Wed, 16 Feb 2011 20:24:49 GMT
Server: Apache
Connection: close
Content-Type: text/html; charset=UTF-8


Больше всего мне не нравится разница в типах соединений, и мне кажется что причина, по которой моя программа отказывается получать куки именно в том, что я не должным образом отправляю заголовки.

Ниже листинг акцентируемых мест кода:

Код:
//Заходим на сайт и получаем куки
  try
      IdHTTP1.HandleRedirects := True;
      IdHTTP1.AllowCookies := True;
      IdHTTP1.Request.Host := 'signup.hostgator.com';
      IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)';
      IdHTTP1.Request.Accept := 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
      IdHTTP1.Request.AcceptLanguage := 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
      IdHTTP1.Request.AcceptEncoding := 'gzip,deflate';
      IdHTTP1.Request.AcceptCharSet := 'windows-1251,utf-8;q=0.7,*;q=0.7';
      IdHTTP1.Request.Connection := 'keep-alive';
      IdHTTP1.Request.CustomHeaders.Add('Keep-Alive:115');
      IdHTTP1.Request.CustomHeaders.Add('Cookie:__utma=262442387.483268803.1297876367.1297880964.1297883596.4; __utmz=262442387.1297876367.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmc=262442387; __utmb=262442387.3.10.1297883596');

      html := IdHTTP1.Post('https://signup.hostgator.com/hg4/reseller-11/step2', PostData);
      PostData.Free;
    except
      on e: Exception do
        PostData.Free;
    end;

    Memo1.Text := html;
    Memo2.Text := IdHTTP1.Response.RawHeaders.Text;
comm1x вне форума Ответить с цитированием
Старый 17.02.2011, 00:11   #2
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

зачем так кодом жизнь усложнять когда можно сократить, вот попробуй так
Код:
with IDHttp1 do
        begin
    ReadTimeout := 60000;
    ConnectTimeout := 60000;
    ProtocolVersion := pv1_1;
    HandleRedirects:=true;
    RedirectMaximum := 1;
    AllowCookies:=true;
    CookieManager:=CM;
    with Request do
    begin
      UserAgent := 'Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1';
      Accept :=
        'text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1';
      AcceptLanguage := 'ru-RU,ru;q=0.9,en;q=0.8';
      AcceptEncoding := 'deflate, gzip, x-gzip, identity, *;q=0';
      AcceptCharset := 'iso-8859-1, utf-8, utf-16, *;q=0.1';
      Connection := 'keep-alive';
      with CustomHeaders do
      begin
        Add('Keep-Alive: 300');
    end;
  end;
end;
а вообще если проблема с куками то воспользуйся компанентом http://kdcodes.blogspot.com/2011/02/idhttpex-11.html , меня постоянно выручает

Последний раз редактировалось bulldog5293; 17.02.2011 в 00:14.
bulldog5293 вне форума Ответить с цитированием
Старый 17.02.2011, 00:49   #3
comm1x
Новичок
Джуниор
 
Регистрация: 16.02.2011
Сообщений: 2
По умолчанию

да эт я знаю.. затупил малец
comm1x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
connection closed gracefully foma9999 Общие вопросы Delphi 21 14.02.2011 16:15
Ошибка, connection closed gracefully в idhttp Delphinchik Помощь студентам 0 28.08.2010 23:21
прием почты(idpop3) connection closed grasefully betirsolt Работа с сетью в Delphi 13 06.05.2010 19:49
connection closed gracefully_помогите! JAy_D Работа с сетью в Delphi 11 17.10.2009 09:23
Ошибка с Indy - Connection Closed Gracefully SoulReaver Работа с сетью в Delphi 4 18.04.2009 13:29