2015-01-13 2 views
0

Я пишу приложение с C++ для подключения к моему серверу.gethostbyname не работает для внешнего сервера

Я использую gethostbyname(). Он отлично работает, когда я указываю имя хоста как «localhost». но если я попробую любой другой сайт, например google.com, он терпит неудачу.

Может кто-нибудь, пожалуйста, скажите мне, что может пойти не так.

Я могу получить доступ к этим веб-сайтам через браузер. Примечание. У меня установлен прокси-сервер в моем браузере.

Является ли прокси-сервер причиной проблемы с gethostbyname()? если да, как я могу указать прокси-сервер в моем коде на C++?

+3

Пожалуйста, добавьте код, какая часть не работает в этом коде и почему вы думаете, что он не работает/что вы ожидаете от него. –

+0

'gethostbyname()' устарел, вместо этого используйте 'getaddrinfo()'. –

+0

C++ не имеет к этому никакого отношения. – EJP

ответ

1

Основываясь на том, что вы описали в своем вопросе, похоже, что ваш компьютер находится в корпоративной сети, которая отключена через Интернет, все доступ к Интернету осуществляется через веб-прокси и что ваша сеть не имеет интернет-DNS разрешающая способность.

Даже если вам удастся решить проблему с IP-адресом, вы не сможете сделать исходящее соединение, если только ваш брандмауэр не предлагает прокси-сервер Socks или его эквивалент.

Если вы намерены написать клиент, который обращается к веб-сайтам через HTTP, вам нужно будет использовать свой корпоративный HTTP-прокси для этого. Для получения дополнительной информации обратитесь к системному администратору.

+0

Вы можете использовать веб-прокси для доступа к не-HTTP-серверу, если он поддерживает метод HTTP 'CONNECT' (обычно это используется для соединений HTTPS, например). В противном случае, вы должны использовать SOCKS или другой тип прокси. –

 Смежные вопросы

  • Нет связанных вопросов^_^