v7: работа с HTTPS и бинарными данными с помощью MSXML.XMLHTTP #286260


#0 by Slach
есть задача надо отправить HTTPS запрос с использованием gzip кодировки под v8 задача решается элементарно но v7 не умеет работать с бинарными данными из файла или из потока... в результате пришлось выносить этот внутрь MSScriptControl.ScriptControl при размере gzip больше 100kb, вываливается ошибка о том, что javascript тормозит вопросов несколько 1) как реализовать потоковое чтение бинарных данных в MSXML.XMLHTTP?? вместо вот такой конструкции??? вот эта конструкция XMLHttps.send( ADOBinDataStream.Read ); просто ругается на "неверный тип данных", поскольку v7 не умеет работать с "COM SafeArray" типами данных 2) есть ли альтернативы XMLHTTP, v7plus не предлагать, не умеет HTTPS и gzip? 3) писать собственную компоненту ??? как то слегка ломает, итак куда не кинься везде за собой ворох библиотек приходится таскать хотя если кто подскажет конкретным куском кода на DelphiC++ буду премного благодарен
#1 by Морозов Александр
мож и не то, но вдруг пригодится:
#2 by Морозов Александр
и еще есть такая компанента WheelAddIn.dll: int  CreateFile или СоздатьФайл(csFileName) // Закрывает файл CloseFile или ЗакрытьФайл(int nNumOpenFile) nNumOpenFile  - хендл открытого файла // Открывает файл для чтения или записи или того и другого int OpenFile или ОткрытьФайл(csFileName,nMethod)                2 - READ | WRITE если всё плохо вернёт     -1 иначе вернёт хендл открытого файла // (что считали в переменной) Buffer int ReadBinFile или ЧитатьБинФайл(int nNumOpenFile) nNumOpenFile  - хендл открытого файла // Записывает бинарный файл int WriteBinFile или ПисатьБинФайл(int nNumOpenFile,bufSrcChar) nNumOpenFile  - хендл открытого файла bufSrcChar    - что записывать если всё плохо вернёт     -1 // Возвращает содержимое буфера Buffer - это переменная, а не функция !!! Внимательно !!! // Формат буфера - для желающих его редактировать Первые 16 позиций - размер файла заменены все 0x0000 в буфере на 0x0001 Добавлены в конец буфера, после последнего символа буфера, определяемого как размер файла + 16 байтов размера, позиции изменённых нулей в формате Format("%016d",poz)
#3 by Slach
// Формат буфера - для желающих его редактировать Первые 16 позиций - размер файла заменены все 0x0000 в буфере на 0x0001 Добавлены в конец буфера, после последнего символа буфера, определяемого как размер файла + 16 байтов размера, позиции изменённых нулей в формате Format("%016d",poz) [/quote] и вот как мне эту шнягу MSXML скормить??? думаю что он от такого формата поперхнется ;)
#4 by smaharbA
тоже самое что но может проканает а не просче пользовать ИЕ и жать там сенд, а как заполнить выбор файла - очень просто, через реестр
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям