Какой объект в LO, Linux можно использовать чтобы установить HTTP-соединение

Автор Борис_С, 6 июня 2025, 13:59

0 Пользователи и 1 гость просматривают эту тему.

Борис_С

Добрый день!
Мне нужно прочитать данные по url-запросу.
Как это можно сделать в LO, Linux.
Буду благодарен за любую помощь.
Спасибо.

sokol92

Мы в свое время выбрали использование программы curl.
Альтернатива: Python c его богатейшим арсеналом.
Владимир.

Борис_С

В том примере, который я нашел на форуме
 
Shell "curl", 0, url & " -s -S  -H ""Content-type: application/json""  --stderr """ & ConvertFromUrl(fileErr) & """"  & _
           " -o """ & ConvertFromUrl(fileJson) & """", true

результат запроса сохраняется в файле.
Можно ли сделать так, чтобы результат запроса сохранялся в переменной?
Если это сложно, буду формировать файл, а затем читать информацию из него.

Борис_С

Как сформировать в url адрес сервера для curl?
Вот адрес сервера, к которому мне нужно обратиться:
http://normacs-srv2
ip адрес - 172.16.33.133:8888
Я указал такой url: http://normacs-srv2@172.16.33.133:8888
В файле curlExample.err получил такую ошибку: curl: (3) URL rejected: No host part in the URL

sokol92

Мы выходим за тематику форума.

Для указания url можно использовать одну из двух указанных форм, но не обе сразу. То есть
http://172.16.33.133:8888
или
http://normacs-srv2:8888

(я не могу это проверить).

Часто разработчики Web-интерфейсов указывают примеры вызовов именно для curl.
Владимир.

Борис_С

Теперь этой ошибки нет.
Полный запрос выглядит так:
http://172.16.33.133:8888/Normaaudit?text=111 ГОСТ 4.458-2019 222 ГОСТ 4.458-2019 &expandTitle=false&showUnmatchedFragments=false&accuracy=matched
Запрос замечательно работает под Windows.

В Linux запрос возвращает пустой массив, а в файле ошибок такие записи:
curl: (6) Could not resolve host: xn--c1awje
curl: (6) Could not resolve host: 4.458-2019
curl: (28) Failed to connect to 0.0.0.222 port 80 after 126787 ms: Couldn't connect to server
curl: (6) Could not resolve host: xn--c1awje
curl: (6) Could not resolve host: 4.458-2019
curl: (3) URL rejected: Bad hostname

sokol92

Указанный Вами IP адрес относится к частным (внутренним) адресам и мы никак в нему не обратимся.
Вопросы такого рода следует задавать системщикам - это их епархия (и они, как правило, знают curl).
Владимир.

Борис_С

Мне подсказали заменить пробелы на + (это способ кодировки пробелов в url).
Сделал это, и все заработало.

Борис_С