|
HTTP-запрос | ☑ | ||
---|---|---|---|---|
0
Сергей Д
10.12.12
✎
16:45
|
Доброго всем дня
Отправляю http-запрос multipart/form-data. Судя по анализу формы, требуется передать следующие параметры: _target3 = 0 requestData = программно формируемый html-код requestXML = программно формируемый xml requestXMLSig = '' (пустая строка) formAction = 0 Формирую текст запроса следующим образом: const url='https://...'; boundary='1BEF0A57BE110FD467A'; CRLF=#10#13; var HTTPSend:THTTPSend; requestData,requestXML:string; content:AnsiString; begin ... HTTPSend.MimeType:='multipart/form-data; boundary='+boundary; {параметры запроса} content:=''; // _target3 content:=content +'—'+boundary+CRLF +'Content-Disposition: form-data; name="_target3";'+CRLF +CRLF +'0'+CRLF; // +'—'+boundary+'—'+CRLF; // requestData content:=content +'—'+boundary+CRLF +'Content-Disposition: form-data; name="requestData";'+CRLF +'Content-Type: text/html'+CRLF +CRLF +requestData+CRLF; // +'—'+boundary+'—'+CRLF; // requestXML content:=content +'—'+boundary+CRLF +'Content-Disposition: form-data; name="requestXML";'+CRLF +'Content-Type: text/xml'+CRLF +CRLF +requestXML+CRLF; // +'—'+boundary+'—'+CRLF; // requestXMLSig content:=content +'—'+boundary+CRLF +'Content-Disposition: form-data; name="requestXMLSig";'+CRLF +CRLF +''+CRLF; // +'—'+boundary+'—'+CRLF; // formAction content:=content +'—'+boundary+CRLF +'Content-Disposition: form-data; name="formAction";'+CRLF +CRLF +'0'+CRLF; // +'—'+boundary+'—'+CRLF; // завершаем тело запроса content:=content +'—'+boundary+'—'+CRLF+CRLF; // размер данных content:='Content-Length: '+inttostr(length(content))+CRLF+content; // HTTPSend.Document.Write(PAnsiChar(content)^,Length(content)); { запрос на сервер } HTTPSend.HTTPMethod('POST',url); ... end; Сервер принимает запрос, возвращает код ответа 200, но страницу возвращает не ту что нужно. При заполнении страницы через сайт запрос уходит нормально. Вопросы: 1. Правильно ли формируется текст запроса? 2. Нужно ли каждый параметр завершать строкой '—'+boundary+'—'+CRLF или она должна идти 1 раз в конце запроса? (собственно, пробовал и так, и так - результат один и тот же) |
|||
1
sda553
10.12.12
✎
17:04
|
а нюхальщико подсмотреть?
|
|||
2
Сергей Д
10.12.12
✎
18:11
|
(1) Не получается, это https-запрос
|
|||
3
sapphire
10.12.12
✎
18:15
|
(0) Отладку tcp-ip не предлагать?
|
|||
4
Сергей Д
10.12.12
✎
18:32
|
(3) А можно подробнее?
ЗЫ Ногами не пинать, первый раз такими вещами занимаюсь |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |