2015-01-13 1 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 'CONNECT'메소드 (일반적으로 HTTPS 연결을 만드는 데 사용됨)를 지원하는 경우 비 HTTP 서버에 연결할 수 있습니다. 그렇지 않으면 SOCKS 또는 다른 유형의 프록시를 대신 사용해야합니다. –

관련 문제