Форум: "Сети";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];
ВнизКак правильно сформировать POST запрос? Найти похожие ветки
← →
DVM © (2006-11-08 18:23) [0]Отсылаю данные посредством Winsock, не используя никаких компонентов, запрос такой:
FRequest := "POST " + FPath + " HTTP/" + FHTTPVersion + #13#10 +
"Connection: keep-alive" + #13#10 +
"Content-Type: application/x-www-form-urlencoded" + #13#10 +
"Content-Length: " + inttostr(Length(FParams)) + #13#10 +
"Host: " + FHost + #13#10 +
"Accept: text/html, */*" + #13#10 +
"User-Agent: user" + #13#10 +
"Authorization: Basic " + EncodeBase64(FUserName + ":" + FPassword) + #13#10#13#10;
FRequest := FRequest + FParams;
В результате на сервер (по данным снифера отправляется)POST /IOCONTROL.CGI HTTP/1.0
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 49
Host: 192.168.0.20
Accept: text/html, */*
User-Agent: user
Authorization: Basic Og==
Trigger1=1&Trigger2=1&ImageUpload=0&ImageEmail=0&
Но такой запрос не срабатывает (не делает того что надо)
То же самое проделанное через Indy срабатывает (отправляется следующее):
POST /IOCONTROL.CGI HTTP/1.0
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 49
Host: 192.168.0.20
Accept: text/html, */*
User-Agent: user
Authorization: Basic Og==
Trigger1=1&Trigger2=1&ImageUpload=0&ImageEmail=0&
Почему так?
Get запрос у меня отправляется нормально.
← →
DVM © (2006-11-08 18:25) [1]Может дело в том, что я не читаю ответ сервера после выполнения запроса?
Но почему тогда GET в этом случае работает нормально?
← →
Ketmar © (2006-11-08 19:07) [2]а) хм. keep-alive и http/1.0? нафига вообще тут keep-alive?
б) попробуй заменить #13#10 на #10. иногда помогает.
← →
DVM © (2006-11-08 22:51) [3]
> а) хм. keep-alive и http/1.0? нафига вообще тут keep-alive?
Я просто стал точно копировать запрос Инди, как рабочий. А у них так.
> б) попробуй заменить #13#10 на #10. иногда помогает.
Не мне не помогло.
Разобрался я в чем дело. Надо как я и думал все таки вычитывать ответ сервера на запрос. Каким то серверам по барабану это, другим нет.
← →
Орион © (2006-11-08 23:30) [4]> [2] Ketmar © (08.11.06 19:07)
> а) хм. keep-alive и http/1.0? нафига вообще тут keep-alive?
Сервер просто проигнорирует это поле в лучшем случае, в худшем - 304 Bad request.
← →
Ketmar © (2006-11-09 01:25) [5]>[4] Орион(c) 8-Nov-2006, 23:30
>худшем - 304 Bad request.
вот-вот.
← →
o_serg (2006-12-25 13:03) [6]думаю новую тему создавать не зачем, спрошу здесь:
Мне нужно загрузить из инета одну страничку, как и чем это сделать, чтобы программа как можно меньше прибавила в весе?
З.Ы. с сетевыми компонентами никогда не работал, можно подробнее плиз и лучше с примерами.
← →
Dmitrij_K (2006-12-25 14:01) [7]
> o_serg (25.12.06 13:03) [6]
>
> думаю новую тему создавать не зачем, спрошу здесь:
> Мне нужно загрузить из инета одну страничку, как и чем это
> сделать, чтобы программа как можно меньше прибавила в весе?
>
> З.Ы. с сетевыми компонентами никогда не работал, можно подробнее
> плиз и лучше с примерами.
UrlDownloadToFile()
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c