Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   HTTP (https://forum.antichat.xyz/showthread.php?t=191018)

Fliplab 28.03.2010 03:49

HTTP
 
Кто знает в чём может быть проблема?
Делаю запрос
Код:

GET http://loveplanet.ru/index.php?a=regcheck&f=mail&v=' + Email + ' HTTP/1.0'#13#10#13#10
. Он возвращает ошибку 400, типо запрос составлен не верно. Юзаю Винсоки. Отправляю этот запрос через shitt_http, ответ приходит нормальный. shitt_http - юзает Инди, сделалбы с ними, но терпеть их не могу.

Kaimi 28.03.2010 04:02

Поюзай снифер, почитай rfc. Где Host в заросе?

Fliplab 28.03.2010 04:12

Kaimi, такой запрос запросто жрётся так как версия HTTP 1.0. Запрос отправлял по всякому и с хостом и т.п. Никак. Кароче пох, инди так инди(((( бе

FEV 28.03.2010 04:12

Цитата:

Сообщение от Kaimi
Поюзай снифер, почитай rfc. Где Host в заросе?

Для http 1.0 заголовок host не нужен.

Возможно, проблема в том, что строковая переменная Email не в UrlEncode.

Fliplab 28.03.2010 04:15

FEV Неа, не помогло)))

FEV 28.03.2010 04:19

почему "#13#10#13#10" находятся после последнего закрывающего апострофа? где первый открывающий апостроф? короче по тому куску кода ничего не понятно.

Fliplab 28.03.2010 04:21

Данные уходят так
Цитата:

Client.Connect('loveplanet.ru', 80);
Header := 'GET http://loveplanet.ru/?a=regcheck&f=mail&v=' + Email + ' HTTP/1.0'#13#10#13#10;
Client.SendBuffer(Header, Length(Header));
Client.Idle(10);
Client.ReceiveBuffer(Rec, SizeOf(Rec));
Client - свой класс на винсоке

dmnt 28.03.2010 04:43

Цитата:

Header := 'GET http://loveplanet.ru/?a=regcheck&f=mail&v=' + Email + ' HTTP/1.0'#13#10#13#10;
В дельфи не разбираюсь, но оно точно должно так выглядеть?
А не так:
Header := 'GET http://loveplanet.ru/?a=regcheck&f=mail&v=' + Email + ' HTTP/1.0'+'#13#10#13#10';

slesh 28.03.2010 11:32

2 dmnt если не разбираешься, то лучше не пишу чушь!

Если ты шлеш запрос через HTTP прокси то всё норм. А если напрямую, то лучше сделай по нормальному. Потому что не все серваки корректно обрабатывают такие запрос.
делай типа
'GET /scrypt.ext?param='+mail+' HTTP/1.0'#13#10'Host: site.com'#13#10#13#10

Fliplab 28.03.2010 13:22

slesh не помогло, я говорю всё уже перепробывал, не пойму в чём дело


Время: 04:05