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
В чем проблема и почему так происходит?
|
|