1

При использовании cURL с моего компьютера с Ubuntu просто для получения GET с удаленного компьютера, я, кажется, не могу разрешить имя хоста и просто получить проблему с прокси- сервером - The proxy has encountered an error (Error 21: Server Hostname Not Found) при запуске:

curl remotehostname

Тем не менее, я могу remotehostname как имя удаленного хоста, так и его IP-адрес, и использование curl только на ip-адресе работает нормально, например, curl 1.2.3.4 .

Я даже попробовал Java-программу, которая использует реализацию ApacheHttpClient Client Джерси, и это тоже работало нормально.

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

2 ответа2

0

Думаю, немного поздно, но у меня была похожая проблема, и это сработало для меня:

curl -4 remotehostname

Эта опция указывает curl разрешать имена только по адресам IPv4.

Наблюдая за пакетами с помощью wireshark, я увидел, что curl пытается преобразовать имя хоста в адрес IPV6, что было невозможно.

Надеюсь, это работает и для вас, удачи.

0

Попробуйте использовать опцию перенаправления. curl -L remotehostname ( заглавная буква "L"). Чтобы проверить, не связана ли это с вашим прокси, а не только с URL-адресом, с которого вы загружаете, протестируйте другой URL-адрес, чтобы убедиться, что вы получаете ту же ошибку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .