저는 Yii 1.1과 뷰가있는 위젯을 가지고 있습니다. 여기에서 외부 주소 (https의 https)에 대해 file_get_contents
PHP 함수를 호출합니다. 나는 https://api.ipinfodb.com/v3/ip-city/...
이라고 부릅니다. 그들은 IP 주소로 좌표를 제공합니다. 503 오류로 실패합니다.file_get_contents가 Yii 위젯의 뷰에서 작동하지 않습니다.
failed to open stream: HTTP request failed! HTTP/1.1 503 Service Temporarily Unavailable
정적보기 페이지에서는 완벽하게 작동합니다. 내 개발자 컴퓨터에서도 작동합니다. 서버에 php.ini 파일에 allow_url_fopen = On
이 있습니다.
무엇이 잘못 될 수 있습니까?
정보가 충분하지 않음을. 필자의 직감은 사용자 에이전트 문자열을 설정해야한다는 것입니다.이 문자열은 기본적으로'file_get_contents'에 대해 비어 있습니다. 그런 이유로 많은 API 요청을 거부했습니다. 그러나 503은 보낼 잘못된 응답 코드이므로 API 공급자는 해당 시나리오에 적합하지 않은 것처럼 보입니다. 그러나 이것은 잘못된 API 키 오류에 대해 200을 무효로 보내는 것을 고려할 가능성이 있습니다 - 이는 401 –
이어야합니다. OK, 그냥 'stream_context_create'로 헤더 옵션에 사용자 에이전트 문자열을 설정했지만 아무 것도 변경되지 않았습니다. 앞에서 말했듯이 정적 PHP 페이지에서 API를 호출하면 모든 것이 잘 작동합니다. 머리글은 위젯의 견해와 동일합니다. 어떤 종류의 정보가 필요한가요? 또한, 당신은 여기에 자신의 API 키를 만들 수 있습니다 : http://ipinfodb.com/register.php –