![]() |
![]() |
![]() |
|
POST через HTTPСоединение и WinHttpRequest | ☑ | ||
---|---|---|---|---|
0
Asmody
30.07.12
✎
15:58
|
сломал сегодня немножко голову. вопрос к залу:
почему вторая функция работает, а первая — нет (возвращает 400ю ошибку)? Function __doPost8(URI, params) request=New TextDocument; request.addLine(params); tmpReqFile= GetTempFileName(".request"); request.write(tmpReqFile); tmpResFile= GetTempFileName(".response"); headers="Content-Type: application/x-www-form-urlencoded"+CRLF +"Content-Length: "+strLen(params)+CRLF ; HTTPConnection=New HTTPConnection(__serverFromURI(URI),,,,,__isSequre(URI)); HTTPConnection.post(tmpReqFile, __resourceFromURI(URI), tmpResFile, headers); response=New TextDocument; response.read(tmpResFile); return response.getText(); EndFunction Function __doPostWin(URI, params) winHttp=New ComObject("WinHttp.WinHttpRequest.5.1"); winHttp.open("POST", URI, 0); winHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); winHttp.setRequestHeader("Content-Length", strLen(params)); winHttp.send(params); return winHttp.ResponseText(); EndFunction |
|||
1
Asmody
30.07.12
✎
16:14
|
хочется материться, взять и уе&&ть!!!
если в первой функции вместо request.write(tmpReqFile); написать request.write(tmpReqFile, TextEncoding.ANSI); то всё работает! |
|||
2
smaharbA
30.07.12
✎
16:22
|
(1) да
|
|||
3
oleg_km
30.07.12
✎
16:23
|
ТекстовыйДокумент (TextDocument)
Записать (Write) Синтаксис: Записать(<Имя файла>, <Тип файла>, <Разделитель строк>) Параметры: <Имя файла> (обязательный) Тип: Строка. Имя файла для сохранения текста. <Тип файла> (необязательный) Тип: КодировкаТекста, Строка. Тип кодировки файла. Тип файла может быть задан как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки. Написано: Необязательный |
|||
4
smaharbA
30.07.12
✎
16:24
|
(3) это тут не в тему (только опосредованно)
|
|||
5
Asmody
30.07.12
✎
16:25
|
(3) по-умолчанию там utf-8. но как-бэ и на сервере utf-8. и даже как-бэ пофиг, ибо в параметрах 146% нет ничего, кроме ascii
|
|||
6
oleg_km
30.07.12
✎
16:25
|
А, так значение по умолчанию: Значение по умолчанию: UTF8
Посмотри Fiddler'ом что в первом случае получается. Наверное веб-сервер не может переварить UTF (4) Почему не в тему? А тогда что в тему? |
|||
7
oleg_km
30.07.12
✎
16:26
|
тогда только Fiddler покажет в чем разница
|
|||
8
Asmody
30.07.12
✎
16:30
|
Fiddler не покажет, у меня https
|
|||
9
oleg_km
30.07.12
✎
16:31
|
Сдаюсь
|
|||
10
smaharbA
30.07.12
✎
17:03
|
(5) адинес утф8 файл с маркером идет
|
|||
11
oleg_km
30.07.12
✎
17:16
|
(10) Точно, недавно с этим боролся, с отрезанием 0xFF 0xFE от запроса в формате UTF-8. Есть функция, но она на ADO.Stream
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |