|
проблемы с передачей POST WinHttpRequest | ☑ | ||
---|---|---|---|---|
0
alemko
19.11.12
✎
17:10
|
Доброго времени суток!
В общем проблема в следующем: Формируется POST на сервер в следующем ключе: Скрипт=Новый COMОбъект("MSScriptControl.ScriptControl"); Скрипт.language="javascript"; WinHttp=Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); Скрипт.AddObject("WinHttp",WinHttp); Скрипт.Eval("WinHttp.Option(2)=1251"); WinHttp.Open("POST", Адрес,0); WinHttp.setRequestHeader("Accept","image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*"); WinHttp.setRequestHeader("Referer",адрес1); WinHttp.setRequestHeader("Accept-Language","ru"); WinHttp.setRequestHeader("Accept-Encoding","gzip, deflate"); WinHttp.setRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"); WinHttp.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + ТелоPOST.Boundary); WinHttp.setRequestHeader("Host",хост); WinHttp.setRequestHeader("Cache-Control","no-cache"); WinHttp.setRequestHeader("Connection","Keep-Alive"); WinHttp.setRequestHeader("Content-Length",СтрЗаменить(ТелоPOST.РазмерФайла, " ", "")); WinHttp.setRequestHeader("Cookie", Куки); Чтение = Новый ЧтениеXML; Чтение.ОткрытьФайл("D:\1_test.xml",,, "windows-1251"); Пока Чтение.Прочитать() Цикл Если Чтение.ТипУзла = ТипУзлаXML.Текст Тогда WinHttp.Send(Чтение.Значение); КонецЕсли; КонецЦикла; СтрокаОтвета = WinHttp.ResponseText(); Строка = toBase64(WinHttp.responseBody); Двоичные = Base64Значение(Строка); ОтветЗаявка = "D:\LOG\12312"+СтрЗаменить(СтрЗаменить(СтрЗаменить(ТекущаяДата()," ",""),":",""),".","")+".html"; Двоичные.Записать(ОтветЗаявка); Вроде все нормально, все в кодировке windows-1251. Но значение кириллических символов в возвращаемом контенте: Заявка Это как видно UTF-8. Но ведь я передаю в кодировке windows-1251. Сервер работает с 1251. Вот ответ: HTTP/1.1 200 OK Date: Mon, 19 Nov 2012 09:55:11 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 Cache-Control: private Content-Type: text/html; charset=windows-1251 В чем проблема и почему так происходит? |
|||
1
alemko
20.11.12
✎
08:48
|
Ни у кого нет мыслей по этому поводу?
|
|||
2
dk
20.11.12
✎
08:52
|
||||
3
alemko
20.11.12
✎
09:54
|
Читал,делал.Не помогло.
На прокси кодировка тела запроса не может меняться? |
|||
4
alemko
22.11.12
✎
10:40
|
В общем если кому интересно, то сделал через IE, там с кодировкой проблем не возникло.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |