2012-06-21 3 views
1

PHP (버전 5.3.12)를 사용하여 Windows Server 2008 컴퓨터에서 cURL 요청을 보내려고하고 오류 Could not resolve proxy: http=127.0.0.1; Host not found을 계속 수신하려고합니다. 지금까지 내가 말한대로, 프록시를 사용하지 않고 있습니다. CURLOPT_PROXY이 설정되어 있지 않습니다. 시스템 전체 설정이 제 위치에 없는지 확인하기 위해 netsh winhttp show proxy을 실행했으며, 내 컴퓨터의 모든 브라우저를 확인했습니다. 아무도 프록시를 사용하도록 구성되어 있지 않은지 확인하십시오. cURL이 1) 프록시를 사용하고 2) 연결할 수 없다고 주장하는 이유를 알아 내는데 어려움을 겪고 있습니다.PHP cURL 오류 : 프록시를 확인할 수 없습니다.

curl_setopt($curl, CURLOPT_PROXY, '');을 통해 프록시 사용을 명시 적으로 해제하여이 오류를 해결할 수 있지만이 방법이 가장 좋은 해결책은 아닙니다. 내가 사용하는 많은 곳이 라이브러리에 있으며 통증 (물론 유지할 수있는 것보다 적은 것은 말할 것도 없다). 차라리 근본 원인을 찾아서 거기서 고칠 수 있습니다.

도움이된다면, 이것은 나에게 POST 요청이있는 경우에만 발생했습니다. 명령 행 cURL (힘내 자 bash 프롬프트에서) 잘 작동합니다. 이 호출은 또한 dev 머신에서 잘 작동하므로 내 머신에 특정한 것으로 보인다.

내가 위의 해킹을 적용해야한다면, 그렇 겠지만, 나는 그것에 착안하기 전에 내가 좋은 사람들에게 물어볼 것이라고 생각했다. - 프록시 사용을 구성 할 수있는 곳이 없다. ? 추가하지 못한 추가 정보가 있으면 알려주세요.

답변

1

cURL은 프록시 설정을위한 환경 변수에 의존합니다. "고급 시스템 설정"을 통해 Windows에서 설정할 수 있습니다.

최적의 제어를 위해 설정 및/또는 변경해야하는 변수는 "http_proxy", "HTTPS_PROXY", "FTP_PROXY", "ALL_PROXY"및 "NO_PROXY"입니다. 그냥 모든 프록시를 사용하지 않도록하려면

그러나, 당신은 아마하는 것, 시스템 변수 http_proxy를 만들고 localhost로 설정 한 후 추가로 시스템 변수 NO_PROXY를 만들고 *로 설정 멀리 얻을 수 있습니다 모든 연결에 프록시를 사용하지 않으려면 cURL에게 알립니다.

시스템 환경 변수의 변경을 인식하도록 명령 창을 다시 시작하십시오.

[source - cURL Manual]

+0

트릭을 했습니까? 정보 주셔서 감사합니다! –

관련 문제