|
Помогите разобраться HTTPЗапрос/XMLHTTP/WinHttpRequest | ☑ | ||
---|---|---|---|---|
0
Faust1976
16.10.14
✎
18:17
|
Добрый день.
Коллеги, помогите разобраться «по принципу» как говориться Решаю задачу скачивания каталогов товаров с сайта, на платформе 8.3. На сайте требуется авторизация Попробовал варианты HTTPСоединение ,MSXML2.XMLHTTP ,WinHttp.WinHttpRequest.5.1 Проблемы которые возникла при HTTPСоединение - Во первых HTTPСоединение/ HTTPЗапрос как я понял отправляет строку юзер агента «1С Ent..» и не поддерживает авторизованное соединение (но могу заблуждаться) , а тек же не удалось отправить данные при заполнении формы - авторизация не проходила : HTTPЗапрос = Новый HTTPЗапрос; HTTPЗапрос2.АдресРесурса = "/authentication.php"; HTTPЗапрос2.Заголовки.Вставить("Connection", "keep-alive"); лДанныеФормы = "email=email%40mail.ru&passwd=1&back=my-account.php&SubmitLogin=%D0%92%D1%85%D0%BE%D0%B4" HTTPЗапрос2.УстановитьТелоИзСтроки(лДанныеФормы); При этом конструкция Запрос = Новый COMОбъект("MSXML2.XMLHTTP"); Запрос.Open ("post", uRL, False); Запрос.setRequestHeader ("Content - type", "application / x - www - form - urlencoded"); лДанныеФормы = "email=email%40mail.ru&passwd=1&back=my-account.php&SubmitLogin=%D0%92%D1%85%D0%BE%D0%B4" Запрос.send(лДанныеФормы) Но при этом на некоторых сайтах валится на следующей же строке (с аналогичной авторизацией) Ответ = Запрос. responseText Валится с ошибкой msxml3 …. Непознанная ошибка В этом случае помогает WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); WinHttp.Option(2,"Windows-1251"); WinHttp.Open("GET",strUrl,0); ОтветСервера = WinHttp.ResponseText; Ответ получаю и обрабатывается … Итак Вопрос – В чем отличия этих трех методов и почему они так себя ведут. Помогите разобраться по принципу … |
|||
1
romix
16.10.14
✎
18:54
|
Можно смотреть что происходит в браузере и в 1С при помощи специальной программы.
Хорошая прога для просмотра траффика - Fiddler. |
|||
2
Faust1976
16.10.14
✎
19:49
|
А чем Fiddler тут поможет ???
С помощью него я и выяснил что 1С отправляет строку агента "1С ent .." |
|||
3
Адинэснег
16.10.14
✎
20:25
|
юзер агент тоже в хидере можно указать
раз авторизация - значит в куки токен сессии должен храниться, куки передаются также в хидере |
|||
4
Маленький Вопросик
16.10.14
✎
20:44
|
(0) как можно скачать товары с сайта, есть их нужно по-умолчанию закрывать?
|
|||
5
Faust1976
16.10.14
✎
20:54
|
3. MSXML2.XMLHTTP - в моем случае сессию удерживал, значит куки сохранялись и в рамках поднятого соединения передавались ... Явно описывать не нужно было
Но главное одна и та же строка данных формы в случае 1С HTTPЗапрос не срабатывала, а в случае MSXML2.XMLHTTP глотается на уга. 4. Отвечу, зотя думаю чтобы не поняли задачи - Задача парсинга каталогов товаров на сайте -результат работы - таблица с колонками товар,цена,фото |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |