|
Выполнение HTTP-запроса | ☑ | ||
---|---|---|---|---|
0
yaroshenko_p
29.08.17
✎
17:02
|
Доброго времени суток!
У меня возникла проблема с запуском скрипта на HTTP-сервере из 1С. Использую примерно такой код (на простом примере): ИмяСервераHTTP = "//Адрес сервера"; ПортHTTP = //Порт; Соединение = Новый HTTPСоединение(ИмяСервераHTTP, ПортHTTP,,,,60,); Попытка ИмяВыходногоФайла = ПолучитьимяВременногоФайла("txt"); Запрос = Новый HTTPЗапрос; Запрос.АдресРесурса = "/resurs/test.php"; Ответ = Соединение.Получить(Запрос, имяВыходногоФайла); Если Ответ.КодСостояния <> 200 Тогда Сообщить("Ошибка"); Иначе Сообщить("Удача"); КонецЕсли; Исключение Сообщить("Ошибка запроса! " + ОписаниеОшибки()); КонецПопытки; Соединение устанавливается, но запрос не проходит - вылетает с кодом соединения 404 (типа объект не найден). При этом, если в адресной строке интернет-браузера набрать //Адрес сервера/resurs/test.php то в браузере скрипт отрабатывается (печатается сообщение) А из процедуры 1С скрипт не выполняется. Подскажите, пожалуйста, в чем может быть проблема? |
|||
1
Lexey_
29.08.17
✎
17:08
|
(0) в ИмяСервераHTTP, например
|
|||
2
_Дайвер_
29.08.17
✎
17:09
|
(0) Вместо www пиши http:\\
|
|||
3
dezss
29.08.17
✎
17:10
|
Чую, что адрес сервера не начинается с http...
Более того, может там тупо шара указана, судя по "//Адрес сервера/resurs/test.php" |
|||
4
yaroshenko_p
29.08.17
✎
17:12
|
Господа, я забыл написать, что Адрес сервера - это IP-адрес
|
|||
5
_Дайвер_
29.08.17
✎
17:14
|
(4) перед IP вставь, http:\\
|
|||
6
Lexey_
29.08.17
✎
17:14
|
(4) весь код выложи
|
|||
7
Lexey_
29.08.17
✎
17:15
|
(5) не надо никаких http
|
|||
8
yaroshenko_p
29.08.17
✎
17:18
|
ИмяСервераHTTP = "188.188.188.188";
ПортHTTP = 8088; Соединение = Новый HTTPСоединение(ИмяСервераHTTP, ПортHTTP,,,,60,); Попытка ИмяВыходногоФайла = ПолучитьимяВременногоФайла("txt"); Запрос = Новый HTTPЗапрос; Запрос.АдресРесурса = "/resurs/test.php"; Ответ = Соединение.Получить(Запрос, имяВыходногоФайла); Если Ответ.КодСостояния <> 200 Тогда Сообщить("Ошибка"); Иначе Сообщить("Удача"); КонецЕсли; Исключение Сообщить("Ошибка запроса! " + ОписаниеОшибки()); КонецПопытки; IP-адрес сервера я поменял - увы, конфиденциальность |
|||
9
dezss
29.08.17
✎
17:19
|
а порт телнетится?
или хотя б через браузер на порт заходится? |
|||
10
_Дайвер_
29.08.17
✎
17:19
|
Поддерживаются следующие протоколы: HTTP 1.0 и HTTP 1.1. Для защиты соединения может быть использован протокол TLS 1.2.
|
|||
11
Lexey_
29.08.17
✎
17:21
|
(8) протокол не https случайно?
|
|||
12
yaroshenko_p
29.08.17
✎
17:30
|
(9) Через адресную строку браузера скрипт
//188.188.188.188/resurs/test.php вызывается и отрабатывается (8) Соединение не защищенное |
|||
13
Lexey_
29.08.17
✎
17:34
|
//188.188.188.188/resurs/test.php
и ИмяСервераHTTP = "188.188.188.188"; ПортHTTP = 8088; отличаются портом |
|||
14
sandal_r
29.08.17
✎
17:34
|
попробуйте вставить user-agent в заголовок запроса
вот такой, к примеру User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36 |
|||
15
yaroshenko_p
29.08.17
✎
17:37
|
(9) А вот на порт через браузер не заходится - NOT FOUND
|
|||
16
yaroshenko_p
29.08.17
✎
17:43
|
(14) Попробовал добавить заголовок в запрос - не помогло
|
|||
17
Юрий Лазаренко
29.08.17
✎
18:22
|
(12) А где в //188.188.188.188/resurs/test.php указан порт 8088?
|
|||
18
yaroshenko_p
29.08.17
✎
18:46
|
(17) Юрий, спасибо! Я попробовал вообще обойтись без указания порта:
Соединение = Новый HTTPСоединение(ИмяСервераHTTP,,,,,60,); И скрипт выполнился! |
|||
19
Lexey_
29.08.17
✎
18:48
|
(18) о чем и говорилось в (13)
|
|||
20
yaroshenko_p
29.08.17
✎
18:59
|
Господа, спасибо вам огромное!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |