WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
AndyNigmatec Автор Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
пытаюсь програмно забрать csv-файл в utf-8 с определенного URL (в браузере норм забирается) так:
loHttp.GetAllResponseHeaders возвращяет:
вот на этой строке StrToFile(loHttp.ResponseText, "tmp.txt") вываливается в ошибку: [attachment 29126 s1.png] никак не догоню - как победить сие? Исправлено 1 раз(а). Последнее : AndyNigmatec, 13.03.18 14:39 |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
В .ResponseBody есть нераскодированный полученный текст, попробуй его прочитать в переменную/файл и STRCONV(11) преобразовать UTF8->ASCII, что там за символ...
|
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
AndyNigmatec Автор Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
пока не победил ... (((
.responseBody возвращает "нечто", что никаким strconv() не раскодируется ... вот где-то туплю - та же опера нормально скачивает Исправлено 1 раз(а). Последнее : AndyNigmatec, 13.03.18 18:33 |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Как это не раскодируется
text/plain; charset=utf-8 - обычный текст приложи файл, если не секретный |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
Taran Сообщений: 13625 Откуда: Красноярск Дата регистрации: 16.01.2008 |
А strtofile с флагом UTF-8 не помогает?
|
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
AndyNigmatec Автор Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
не секретный ))) тока сюда прикрепить не могу ... счас куда нить залью ... вот
www.neuro.nigmatec.ru |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Это никакая кодировка. Изи зашифрованное, или просто запакованное (типа gz) - deflate. Может не все заголовки серверу задал при запросе?
Доб. Или скрипт его расшифровывает (раскодирует) и потом возвращает читаемый текст. Надо сниферить (узнать заголовки), может даже с текстом конечным скоррелировать (может простой XOR с чем нибудь) Вот тут пишут про 78 9С - habrahabr.ru Исправлено 3 раз(а). Последнее : of63, 13.03.18 19:06 |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
AndyNigmatec Автор Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Огромное спасибо - offzip - оно самое
почитаю - может как-то в заголовке можно передать чтоб уже распакованным скачивался P/S/ посмотрел какие заголовки мозила шлет при скачивании
зафигачил такие же ... все равно запакованным вытягивается програмно ... наверное потому что из .responseBody забираю а не из .responseText ... ну фиг с ним - способ то есть теперь пусть и через одно место ))) Исправлено 3 раз(а). Последнее : AndyNigmatec, 13.03.18 20:11 |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Accept-Encoding: identity - отменяет сжатие на стороне сервера. Если он, конечно, согласится слать данные без сжатия, а не даст отлуп 406.
А так - ну ты явно сказал что готов и gzip и deflate варианты сжатия принять - чего возмущаццо то что сервер тебе ответ так и запаковал Браузер то умеет сам распаковывать эти форматы - а указанный контрол, нет. ------------------ WBR, Igor |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
AndyNigmatec Автор Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Accept-Encoding: identity - попробовал ради интереса ... не соглашается сволочь без сжатия
|
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Это логично - там же по сути не текст, а бинарные данные, которые по HTTP не ходят, разве что в base64 их кодировать... Ну или научиться распаковывать эти типа-"архивы".
------------------ WBR, Igor |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Ничего логичного. Сервер ответил
Content-Encoding: deflate Может, в соглашениях по http где-то написано, что если Content-Encoding="deflate", то это значит "распаковывайте согласно 'общеочевидным' типам данных (по начальным байтам пакованного кода)". Это так? |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
AndyNigmatec Автор Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
в любом случае, подсказка Олега про offzip решила данную конкретную проблкму - за что спасибо ))) - ну немного "через задницу" получилось - что ж поделать.
|
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Нет, Андрей, ИК говорит, что есть способ получить искомое "через передницу" )
Доб. Мтк, что ответы с сервера пишут такие же как мы, Андреи, Олеги, Игори, (и разрабы среды разработки, типа ПХП, АСП... я в них не понимаю, просто интересно "изучать") вот так и получается "непонятный ответ сервера" Исправлено 1 раз(а). Последнее : of63, 13.03.18 23:15 |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Конечно. ru.wikipedia.org ------------------ WBR, Igor |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Игорь, ты не ленив, это точно! Наверняка это 78 9C означали это типа (из твоей ссылки):
Deflate-поток содержит серии блоков. Перед каждым блоком находится трёхбитовый заголовок: Один бит: флаг последнего блока. 1: блок последний. 0: блок не последний. Два бита: метод, с помощью которого были закодированы данные. 00: данные не закодированы (в блоке находятся непосредственно выходные данные). 01: данные закодированы по методу статического Хаффмана. 10: данные закодированы по методу динамического Хаффмана. 11: зарезервированное значение (ошибка). ПС. Андрей, AndyNigmatec, почему ты так долго копался?! Игорь, а дальше (после 2х первых бит), где выйти на собственно алгоритм кодирования (не сомневаюсь, что он где-то описан), и еще, как вообще определить этот набор байтов как "закодированный deflate", а не просто бинарный файл... Исправлено 4 раз(а). Последнее : of63, 13.03.18 23:32 |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
AndyNigmatec Автор Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
поэтому и вопрос тут задал что сам "не в теме" ))) - и ответ вот получил быстро - что весьма радует
|
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Блин. Как в анеке старом, не нашел в ие. А нашел! )
Убитый Кеннеди приходит на тот свет. Открывает дверь и в ужасе шарахается от Сталина, стоящего за дверью с поднятым топором. — Нэ бойся, прахады, нэ тэбя жду! humornet.ru - оттуда > сам "не в теме" Все не в теме, до тех пор, пока этим не позанимались. Никто не родился "в теме". Исправлено 2 раз(а). Последнее : of63, 13.03.18 23:56 |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
Рома Сообщений: 1079 Дата регистрации: 06.06.2001 |
Чтобы не через задницу, то надо использовать WinInet вместо WinHttp, в котором есть Decompression support (см. отличия msdn.microsoft.com) Для этого есть флаг INTERNET_OPTION_HTTP_DECODING (см. здесь msdn.microsoft.com) Исправлено 1 раз(а). Последнее : Рома, 14.03.18 02:01 |
Re: WinHttp.WinHttpRequest - проблемка с юникодом | |
---|---|
AndyNigmatec Автор Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
как-то типа такого что ли ...
не взлетело ... тако же зажатый файл получаю Исправлено 1 раз(а). Последнее : AndyNigmatec, 14.03.18 14:30 |
© 2000-2024 Fox Club  |