|
1C умеет принимать cookie? | ☑ | ||
---|---|---|---|---|
0
zyto
19.01.15
✎
17:18
|
1С:Предприятие 8.3 (8.3.5.1248)
Делаю POST запрос: // Подготовить файл для POST запроса POSTПараметры = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.UTF8,, Истина, Символы.ПС); POSTПараметры.Записать("login=" + Логин + "&password=" + Пароль); POSTПараметры.Закрыть(); // Определить заголовки POST, используя алгоритм "application/x-www-form-urlencoded" POSTЗаголовки = Новый Соответствие(); POSTЗаголовки.Вставить("POST "+АдресСтраницыАвторизации+" HTTP/1.1"); POSTЗаголовки.Вставить("Host", АдресСервера); POSTЗаголовки.Вставить("Referer", "http://"+АдресСервера); POSTЗаголовки.Вставить("Connection", "keep-alive"); POSTЗаголовки.Вставить("Content-Type", "application/x-www-form-urlencoded"); // Отправляем POST запрос Попытка ОтветHTTP = Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, АдресСтраницыАвторизации, ИмяВыходногоФайла, POSTЗаголовки); Исключение Сообщить("Неудачная попытка соединения с " + АдресСервера + ": " + ОписаниеОшибки()); Возврат; КонецПопытки; После этого ОтветHTTP.КодСостояния = 302, и ОтветHTTP.Заголовки["Location"] - это страница, где написано: Ваш браузер не поддерживает cookies, либо поддержка выключена. Для работы с нашим магазином Вам необходимо включить поддержку cookies в Вашем браузере. Инструкция для браузера Internet Explorer: Сервис, далее Свойства обозревателя Выбираете закладку Безопасность, ставите уровень безопасности Средний Выставил в IE уровень безопасности средний, не помогло, видимо 1С использует какой-то свой встроенный браузер? Как разрешить принимать кукисы? |
|||
1
zyto
19.01.15
✎
17:35
|
Никто не сталкивался?
|
|||
2
Гёдза
19.01.15
✎
17:38
|
умеет
|
|||
3
zyto
19.01.15
✎
17:39
|
Что сделать что бы кукисы нормально принимались?
|
|||
4
Гёдза
19.01.15
✎
17:40
|
||||
5
Dolphinbet
19.01.15
✎
17:46
|
Кукисы принимаются - их надо сохранять и при последующих обращениях к серверу отправлять
|
|||
6
Гёдза
19.01.15
✎
17:50
|
скорее всего ты посылаешь запрос без ранее полученных кукисов
|
|||
7
zyto
19.01.15
✎
18:00
|
(6)Ага, похоже на то... Надо несколько раз на один и тот же адрес перейти, что бы кукисы нормально инициализировались.
Спасибо за наводку! |
|||
8
zyto
19.01.15
✎
18:03
|
(7)*это для моего случая, в других случаях возможно надо по разным страницам ходить, что бы нужные куки собрать...
|
|||
9
Гёдза
19.01.15
✎
18:20
|
юзай фидлер
|
|||
10
zyto
19.01.15
✎
19:25
|
(9)О, то чего не хватало :)
Благодарю! |
|||
11
zyto
21.01.15
✎
07:31
|
На всякий случай, вдруг кому поможет...
В моём случае не взлетело использование кукисов как есть, т.е. ... GETЗаголовки.Вставить("Cookie", ОтветHTTP.Заголовки["Set-Cookie"]); ... ОтветHTTP = Соединение.Получить(АдресСтраницы, ИмяВыходногоФайла, GETЗаголовки); Предыдущие методы мне выдавали куки вида: "ИмяПараметра=Значение;СрокДействия;домен;/" А сайт хотел что бы ему присылали "чистые" куки, вида "ИмяПараметра=Значение;" Поэтому пришлось парсить строку и вытаскивать нужные значения кук... Если у вас не работает авторизация - проверьте, передаёте ли вы чистые куки. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |