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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2009, 17:19   #1
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 04.08.2008
Сообщений: 154
Вопрос GET-запрос

Здравствуйте
Я написал прогу совсем маленькая которая отправляет get запрос она работает и отправляет вот только сервер присылает ответ не 200 ОК, а Pending...

Она посылает вот такой пакет

Код HTML:
GET /links/add.html HTTP/1.1
Connection: keep-alive
Content-Type: text/html; charset=windows-1251
Keep-Alive: 300
Host: neo.liga.net
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Accept-Encoding: gzip,deflate
Accept-Language: ru,en-us;q=0.7,en;q=0.3
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 MRA 5.4 (build 02620) Firefox/3.0.8
А вот правильный пакет

Код HTML:
GET /links/add.html HTTP/1.1
Host: neo.liga.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 MRA 5.4 (build 02620) Firefox/3.0.8
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

Не понимаю что я не правильно сделал?

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, StdCtrls, IdCookieManager;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdHTTP1: TIdHTTP;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
idhttp1.Request.Host:=('neo.liga.net');
idhttp1.Request.UserAgent:=('Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 MRA 5.4 (build 02620) Firefox/3.0.8');
idhttp1.Request.Accept:=('text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
idhttp1.Request.AcceptLanguage:=('ru,en-us;q=0.7,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.Get('http://neo.liga.net/links/add.html');
end;

end.
Вложения
Тип файла: rar get.rar (3.2 Кб, 26 просмотров)
eldar вне форума Ответить с цитированием
Старый 07.04.2009, 17:27   #2
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Странно, всё работает

Цитата:
Stat Connected.
Sent 07.04.2009 16:26:46: GET /links/add.html HTTP/1.1<EOL>Connection: keep-alive<EOL>Content-Type: text/html<EOL>Keep-Alive: 300<EOL>Host: neo.liga.net<EOL>Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8<EOL>Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7<EOL>Accept-Encoding: gzip,deflate<EOL>Accept-Language: ru,en-us;q=0.7,en;q=0.3<EOL>User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 MRA 5.4 (build 02620) Firefox/3.0.8<EOL><EOL>

Recv 07.04.2009 16:26:47: HTTP/1.1 200 OK<EOL>Date: Tue, 07 Apr 2009 13:26:50 GMT<EOL>....
пыщь
JTG вне форума Ответить с цитированием
Старый 07.04.2009, 19:22   #3
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 04.08.2008
Сообщений: 154
По умолчанию

А у меня не работает
использую сниффер HTTP Debugger Pro 2.2

А у вас какая версия indy ?
а то я слышал что версия обновилась, у меня 9 версия.

Последний раз редактировалось eldar; 07.04.2009 в 19:25.
eldar вне форума Ответить с цитированием
Старый 08.04.2009, 02:04   #4
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 04.08.2008
Сообщений: 154
По умолчанию

Сейчас я написал точно такую же прогу, только на VB
она также работает и сервер посылает ответ 200 ОК то есть прога сто процентов работает, а вот на delphi такое не получается почему?

Мне вот кажется что это из-за компонента indy у меня 9 версия не скажете как обновить на 10 версию?
eldar вне форума Ответить с цитированием
Старый 08.04.2009, 08:25   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Обновление Indy
А ошибка у вас, скорей всего, связана с присутствием в вашем запросе принятия gzip-а, который вы, анверняка, не поддерживаете. Или добавьте Idcompressor к Idhttp, или уберите упоминание о gzip в заголовке вашего запроса.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 08.04.2009, 09:26   #6
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 04.08.2008
Сообщений: 154
Хорошо

Квэнди как всегда спасибо!
Работает!
Поставил компонент IdCompressionIntercept
eldar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос Ruska882009 Помощь студентам 2 25.02.2009 03:02
Запрос Proof SQL, базы данных 1 09.10.2008 21:30
Запрос White БД в Delphi 0 18.09.2008 09:30
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50