Имя: Пароль:
1C
1С v8
Получить результат запроса на сайт
,
0 dimm7310
 
06.06.13
17:49
Необходимо получить результат запроса на сайт

если полную строку запроса поместить в веб броузере , то все отрабатывает нормально , прямо на странице получаю ответ в виде текстовой строки.

Допустим полная строка запроса:   "https://secure.какойтоСайт.com/search/строкаПараметров"

пытаюсь сделать запрос из 1С

HTTPСоединение = Новый HTTPСоединение("secure.какойтоСайт.com");
HTTPЗапрос = Новый HTTPЗапрос;
HTTPЗапрос.АдресРесурса = "/search/строкаПараметров";
HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);

получаю ошибку: "Server returned nothing (no headers, no data)"

подскажите как правильно?
1 Kreont
 
06.06.13
18:11
На "ОтправитьДляОбработки" нажми Ctrl+f1 там примеры красивые готовые.
2 vs1c
 
06.06.13
18:20
HTTPСоединение (HTTPConnection)
По указаному серверу
Синтаксис:
Новый HTTPСоединение(<Сервер>, <Порт>, <ИмяПользователя>, <Пароль>, <Прокси>, <Таймаут>, <ЗащищенноеСоединение>)
Параметры:
..
..
<ЗащищенноеСоединение> (необязательный)
Тип: Булево.
Определяет используемый протокол - http или https.
Значение по умолчанию: Ложь

Не оно?
3 dimm7310
 
06.06.13
18:58
добавил ЗащищенноеСоединение = Истина.

и
  ФайлРезультата = ПолучитьИмяВременногоФайла();
   HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос,ФайлРезультата);


Теперь ошибки не выдает, но в файле ответа пишет что один из передаваемых параметров неверный
4 Fragster
 
гуру
06.06.13
19:00
возможно следует прочитать про URLEncode
5 dimm7310
 
06.06.13
19:12
(4) Для чего это ?   Если это на случай что есть кирилица в URL , в моем случае  - нет
6 Rie
 
06.06.13
19:15
(0) А ты уверен в сервере? Он правильно обрабатывает твой запрос? Судя по сообщению - он его отвергает напрочь и ничего не возвращает.
7 Rie
 
06.06.13
19:16
(3) О! Параметр неверный - сервер тебя посылает. Укажи верные параметры.
8 Fragster
 
гуру
06.06.13
19:18
(5) еще пробелы, знаки препинания и т.п. в любом случае - пишу "возможно", потому что саму строку запросы ты не пишешь...
9 Rie
 
06.06.13
19:23
(5) А хрен его знает, что в твоём случае. Может, где символ какой затерялся (кроме кириллицы - есть ведь и более другие символы за пределами 7-битного набора). Сделай так, чтобы работало в общем случае - как тебе и посоветовал Fragster.
10 dimm7310
 
06.06.13
19:36
я же писал (0), что в броузере целая строка отрабатывает нормально, а если я ее разделяю на сервер в HTTPСоединение и вторая часть в HTTPЗапрос.АдресРесурса, то в файле возвращаемом запросом пишет что первый мною передаваемый параметр с таким-то именем в запросе  неправильный.
11 Rie
 
06.06.13
19:41
(10) "Где имение, где вода?.."
В браузере у тебя - GET-запрос.
А тут вдруг у тебя появляется "вторая часть".
Начнём с того, что символы в АдресРесурса - в какой кодировке (си. (5)). Но это - только первый шаг.
Ты б рассказал поподробнее... Глядишь, кто-нибудь что-нибудь и присоветовал бы...
12 Rie
 
06.06.13
19:49
(10) Вообще говоря, серверу глубоко по барабану (в общем случае), кто к нему обращается. И если в HTTPСоединение будет сказано _в точности_ то же, что и в браузере - то и ответ будет тем же.
13 dimm7310
 
06.06.13
21:11
сделал запрос так
АдресСкрипта = "/search/строкаПараметров";
HTTPСоединение = Новый HTTPСоединение("secure.какойтоСайт.com");
HTTPСоединение.Получить(АдресСкрипта,ИмяФайлаОтвета);

и все заработало.

я и начинал с этой же конструкции, только нужно было указать , что соединение защишенное, а я начал мудрить
14 dimm7310
 
07.06.13
09:11
вернее так

АдресСкрипта = "/search/строкаПараметров";
HTTPСоединение = Новый HTTPСоединение("secure.какойтоСайт.com",,,,,Истина);
HTTPСоединение.Получить(АдресСкрипта,ИмяФайлаОтвета);
15 tmp05
 
21.06.13
07:03
(2) офф, как с вами можно связаться?
16 Мэс33
 
21.06.13
08:36
Есть такая софтина Fiddler - позволяет увидеть, какой запрос уходит на сервер и какой ответ приходит.
Можно увидеть все параметры запроса, заголовки и тело запроса.
17 oleg_km
 
21.06.13
09:27
(17) Ну вот, порушил интригу. После Fiddler'а еще никто на форум не возвращался - все самому становилось ясно
18 Мэс33
 
21.06.13
09:43
(17) Ну дык...:-)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn