Написал обработку, которая использует пост и гет запросы.
Когда нет авторизации проблем нет. Все работает!
Но затем потребовалась авторизация на сайте.
Куки = код сесии получил.
А как дальше работать не знаю.
В заголовки добавил куки:
Выходит надо еще сформировать файл с параметрами?
И в заголовки добавить размер файла?
Проясните ситуацию?
Когда нет авторизации проблем нет. Все работает!
Но затем потребовалась авторизация на сайте.
Куки = код сесии получил.
А как дальше работать не знаю.
Вот что выдала опера: |
---|
Request URL: Request Method:POST Status Code:200 OK Remote Address:37.230.140.12:80 Referrer Policy:no-referrer-when-downgrade Response Headers Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection:Keep-Alive Content-Length:1456 Content-Type:text/xml; charset=UTF-8 Date:Mon, 13 Nov 2017 19:52:45 GMT Expires:Thu, 19 Nov 1981 08:52:00 GMT Keep-Alive:timeout=15, max=92 Pragma:no-cache Server:Apache/2.2.15 (CentOS) X-Powered-By:PHP/5.3.3 Request Headers Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding:gzip, deflate Accept-Language:ru,en;q=0.8 Cache-Control:max-age=0 Connection:keep-alive Content-Length:37 Content-Type:application/x-www-form-urlencoded Cookie:PHPSESSID=pmdvrgkmlor3qg0docch4fnk53; _ym_uid=15106017911070951459; _ym_isad=2; _gat=1; _ym_visorc_45446061=w; _ga=GA1.2.1235324497.1510601004; _gid=GA1.2.1135985381.1510601004 DNT:1 Host:tickets.bolshoi.ru Origin: Referer: Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 OPR/48.0.2685.52 Form Data option:1 ticket_list:10072068 idspec: |
В заголовки добавил куки:
СтруктуруПараметровЗапроса = ПолучитьСтруктуруПараметровЗапроса();
// Передаем в куках (cookie) PHPSESSID=Объект.КодСесси.
СтруктуруПараметровЗапроса.Заголовки.Вставить("Cookie", "PHPSESSID=" + Объект.КодСессии);
// Также мы будем передавать в запросе поле keep-alive, чтобы сервер не закрывал наше соединений к нему для повторых запросов.
СтруктуруПараметровЗапроса.Заголовки.Вставить("Connection", "keep-alive");
Выходит надо еще сформировать файл с параметрами?
И в заголовки добавить размер файла?
Проясните ситуацию?
По теме из базы знаний
Найденные решения
Нашел в чем была загвоздка!
В тело файла достаточно записать
То что мне выдала в дате.
Но фишка была в том что метод:
Не работал.
Переписал на:
И получил заветный вход! Кто скажет в чем отличие? В том что я файл отправлял с расширением хмл?
Подсказку нашел тут:http://www.forum.mista.ru/topic.php?id=711093
В тело файла достаточно записать
login=МояПочта&password=МойПароль&from_page=http%3A%2F%2Ftickets.bolshoi.ru%2Fru%2Fticket%2F
То что мне выдала в дате.
Но фишка была в том что метод:
// Записываем содержимое тела в файл отправки
ТекстовыйФайл = Новый ТекстовыйДокумент;
ТекстовыйФайл.УстановитьТекст(СтруктураПараметровЗапроса.ТекстФайла);
ТекстовыйФайл.Записать(ИмяФайлаЗапроса, КодировкаТекста.UTF8);
ФайлОтправки = Новый Файл(ИмяФайлаЗапроса);
// Отсылаем POST запрос на обработку.
// АдресРесурса — ссылка на веб-сервер (страницу), к которой посылается POST запрос
// Выполним POST запрос через URL
HTTPЗапрос = Новый HTTPЗапрос(СтруктураПараметровЗапроса.АдресРесурса, СтруктураПараметровЗапроса.Заголовки);
HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаЗапроса);
ПоказатьНе работал.
Переписал на:
HTTPЗапрос = Новый HTTPЗапрос(СтруктураПараметровЗапроса.АдресРесурса, СтруктураПараметровЗапроса.Заголовки);
//HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаЗапроса);
HTTPЗапрос.УстановитьТелоИзСтроки(СтруктураПараметровЗапроса.ТекстФайла, КодировкаТекста.UTF8);
И получил заветный вход! Кто скажет в чем отличие? В том что я файл отправлял с расширением хмл?
Подсказку нашел тут:
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7) я же говорю, надо смотреть не только заголовки. Что в теле.
Судя по ответу с "Referer:http://tickets.bolshoi.ru/ru/performance/12089/ " приходит xml в теле.
Надо смотреть, что в теле отправляется.
Вот, что приходит:
Судя по ответу с "Referer:
Надо смотреть, что в теле отправляется.
Вот, что приходит:
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/style__ru.xslt?15" type="text/xsl" ?>
<root sid="lonmhn6hcg1h9oqti7avj7uf94" idclient="0" lang_link="/en/performance/12089/" link="/performance/12089/"> <client/> <content>
<spec_free_place_pict>
<spectacle_info><date>17 ноября 2017, пятница</date>
<time>19:00</time>
<date2>17.11.2017</date2>
<name>ДОН КАРЛОС (12+)</name>
<hall>Историческая сцена</hall>
<idhall>11</idhall>
<id>12089</id>
<type>Опера</type>
<tarif/>
<axtrp>0</axtrp>
<eticket>1</eticket>
</spectacle_info>
<ticket><tid>10072069</tid>
<tregion>Партер</tregion>
<tside>Левая сторона</tside>
<trow>Ряд 11</trow>
<tplace>Место 30</tplace>
<tprice1>7000</tprice1>
<xcoord>611</xcoord>
<ycoord>435</ycoord>
<pid>20366</pid>
</ticket>
<spec_schedule><spectacle>
<spec_date>15 ноября</spec_date>
<id_spec>12087</id_spec>
</spectacle>
<spectacle>
<spec_date>16 ноября</spec_date>
<id_spec>12088</id_spec>
</spectacle>
<spectacle>
<spec_date>17 ноября</spec_date>
<id_spec>12089</id_spec>
</spectacle>
<spectacle>
<spec_date>18 ноября</spec_date>
<id_spec>12090</id_spec>
</spectacle>
<spectacle>
<spec_date>19 ноября</spec_date>
<id_spec>12091</id_spec>
</spectacle>
<spectacle_prev>
<date>15 ноября</date>
<id_spec>12087</id_spec>
</spectacle_prev>
<spectacle_next>
<date>19 ноября</date>
<id_spec>12091</id_spec>
</spectacle_next>
</spec_schedule>
</spec_free_place_pict> </content>
<help><text>Вы можете выбрать интересующие Вас билеты. После выбора, нажмите на кнопку «Поместить в корзину».</text> </help></root>
Показать
(9)
Ну опера показала заголовки.
Вопрос в том, как отсылать заголовки из 1с?
Так:
OFFTOPIC: Качество сайта под стать искусству?
Вот что выдала опера:
Ну опера показала заголовки.
Вопрос в том, как отсылать заголовки из 1с?
Так:
Заголовки = Новый Соответствие();
Заголовки.Вставить("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
Заголовки.Вставить("Accept-Encoding", "gzip, deflate");
Заголовки.Вставить("Accept-Language", "en-US,en;q=0.8,ru;q=0.6");
Заголовки.Вставить("Cache-Control", "max-age=0");
Заголовки.Вставить("Connection", "keep-alive");
HTTPЗапрос = Новый HTTPЗапрос(URL, Заголовки);
ПоказатьOFFTOPIC: Качество сайта под стать искусству?
Прикрепленные файлы:

(11) Я не большой знаток веба, но это вроде опера подсказывает заполнение форм (<input> и всего такого).
Если так, то их Вы вполне можете заполнить через DOM.
Не хочу открывать 1с, покажу как средствами JS, для 1с также:
Также рекомендую отлаживать через хром или традиционно через мозилу с firebug.
Если так, то их Вы вполне можете заполнить через DOM.
Не хочу открывать 1с, покажу как средствами JS, для 1с также:
document.getElementsByName('login')[0].value = '123'
document.getElementById('password').value = '123'
Также рекомендую отлаживать через хром или традиционно через мозилу с firebug.
(13) Не, на самом деле все гораздо проще:
ТЫК (у вас "POST с urlencoded" и вид "application/x-www-form-urlencoded")
Не вижу проблемы на первый взгляд заполнить форму способом, что Я показал.
Сайт у них на битриксе, советую связаться с разработчиками, наверняка у них есть какоет API для простого решения.
Неужели два продукта 1с нельзя подружить из коробки?)))
Если остануться вопросы - пишите, Я уведомления обычно читаю, попробую помочь завтра :)
OFFTOPIC: битрикс в сочетании с лебедевым - злая штука, сыпется куча ошибок, да еще и грузиться 6 секунд.
Не вижу проблемы на первый взгляд заполнить форму способом, что Я показал.
Сайт у них на битриксе, советую связаться с разработчиками, наверняка у них есть какоет API для простого решения.
Неужели два продукта 1с нельзя подружить из коробки?)))
Если остануться вопросы - пишите, Я уведомления обычно читаю, попробую помочь завтра :)
OFFTOPIC: битрикс в сочетании с лебедевым - злая штука, сыпется куча ошибок, да еще и грузиться 6 секунд.
(14) про 9 пост http://www.forum.mista.ru/topic.php?id=680146 я прочитал.
Но авторизация это просто первый шаг на самом деле, дальше нужно будет и другое действие выполнить.
Похоже ваша ссылка дает пищу для анализа:
Теперь становятся понятны выкладки про boundary. Думаю что-то должно получиться.
Но авторизация это просто первый шаг на самом деле, дальше нужно будет и другое действие выполнить.
Похоже ваша ссылка дает пищу для анализа:
Форма при такой кодировке будет выглядеть примерно так:
...Заголовки...
Content-Type: multipart/form-data; boundary=RaNdOmDeLiMiTeR
--RaNdOmDeLiMiTeR
Content-Disposition: form-data; name="name"
Виктор
--RaNdOmDeLiMiTeR
Content-Disposition: form-data; name="surname"
Цой
--RaNdOmDeLiMiTeR--
Показать...Заголовки...
Content-Type: multipart/form-data; boundary=RaNdOmDeLiMiTeR
--RaNdOmDeLiMiTeR
Content-Disposition: form-data; name="name"
Виктор
--RaNdOmDeLiMiTeR
Content-Disposition: form-data; name="surname"
Цой
--RaNdOmDeLiMiTeR--
Теперь становятся понятны выкладки про boundary. Думаю что-то должно получиться.
(15) http://helpme1c.ru/rabota-s-http-zaprosami-get-i-post-v-yazyke-1s-8-3-8-2-v-primerax
Тут про POST запрос смотрите.
Тут про POST запрос смотрите.
Я зашел на страницу
http://tickets.bolshoi.ru/ru/ticket/
Гет запросом получил куки.
После ввода пароля на сайте я вижу редирект:
Referer:http://tickets.bolshoi.ru/login.php
Т.е. указав параметры я смогу получить больше информации.
Поставил программу:
HTTPAnalyzer
Она сразу выдала. Нужные запросы
Гет запросом получил куки.
После ввода пароля на сайте я вижу редирект:
Referer:
Т.е. указав параметры я смогу получить больше информации.
Поставил программу:
HTTPAnalyzer
Она сразу выдала. Нужные запросы
(18) опера не показывала что делает: http://tickets.bolshoi.ru/login.php
Она сразу на последнюю скидывала:http://tickets.bolshoi.ru/ru/ticket/
Не могу понять что в файл нужно записать:
Писал этот текст не работает. Ошибка:
Другие варианты:
И
В качестве разделителя использовал Символы.ПС. Но тоже не работает.
Она сразу на последнюю скидывала:
Не могу понять что в файл нужно записать:
POST /login.php HTTP/1.1
Host: tickets.bolshoi.ru
Connection: keep-alive
Content-Length: 108
Cache-Control: max-age=0
Origin: http://tickets.bolshoi.ru
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 OPR/48.0.2685.52
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
DNT: 1
Referer: http://tickets.bolshoi.ru/ru/ticket/
Accept-Encoding: gzip, deflate
Accept-Language: ru,en;q=0.8
Cookie: _ym_uid=15106017911070951459; PHPSESSID=36702nd26qp65qoo9ehg6iov72; _ga=GA1.2.1235324497.1510601004; _gid=GA1.2.1135985381.1510601004
login=МояПочта&password=МойПароль&from_page=http%3A%2F%2Ftickets.bolshoi.ru%2Fru%2Fticket%2F
ПоказатьПисал этот текст не работает. Ошибка:
<ht ml><body>Ошибка в параметрах !<sc ript>setTimeout("document.location.replace('http://tickets.bolshoi.ru/')", 1000);</sc ript></body></html>
Другие варианты:
login=МояПочта&password=МойПароль&from_page=http%3A%2F%2Ftickets.bolshoi.ru%2Fru%2Fticket%2F
И
/login.php
login=МояПочта&password=МойПароль&from_page=http%3A%2F%2Ftickets.bolshoi.ru%2Fru%2Fticket%2F
В качестве разделителя использовал Символы.ПС. Но тоже не работает.
Нашел в чем была загвоздка!
В тело файла достаточно записать
То что мне выдала в дате.
Но фишка была в том что метод:
Не работал.
Переписал на:
И получил заветный вход! Кто скажет в чем отличие? В том что я файл отправлял с расширением хмл?
Подсказку нашел тут:http://www.forum.mista.ru/topic.php?id=711093
В тело файла достаточно записать
login=МояПочта&password=МойПароль&from_page=http%3A%2F%2Ftickets.bolshoi.ru%2Fru%2Fticket%2F
То что мне выдала в дате.
Но фишка была в том что метод:
// Записываем содержимое тела в файл отправки
ТекстовыйФайл = Новый ТекстовыйДокумент;
ТекстовыйФайл.УстановитьТекст(СтруктураПараметровЗапроса.ТекстФайла);
ТекстовыйФайл.Записать(ИмяФайлаЗапроса, КодировкаТекста.UTF8);
ФайлОтправки = Новый Файл(ИмяФайлаЗапроса);
// Отсылаем POST запрос на обработку.
// АдресРесурса — ссылка на веб-сервер (страницу), к которой посылается POST запрос
// Выполним POST запрос через URL
HTTPЗапрос = Новый HTTPЗапрос(СтруктураПараметровЗапроса.АдресРесурса, СтруктураПараметровЗапроса.Заголовки);
HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаЗапроса);
ПоказатьНе работал.
Переписал на:
HTTPЗапрос = Новый HTTPЗапрос(СтруктураПараметровЗапроса.АдресРесурса, СтруктураПараметровЗапроса.Заголовки);
//HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаЗапроса);
HTTPЗапрос.УстановитьТелоИзСтроки(СтруктураПараметровЗапроса.ТекстФайла, КодировкаТекста.UTF8);
И получил заветный вход! Кто скажет в чем отличие? В том что я файл отправлял с расширением хмл?
Подсказку нашел тут:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот