다른 URL에서 다른 파일을 다운로드하고 데이터를 수정하는 cronjob이 있습니다. 골동품 문제는 모든 것이 잘 작동하고 이제는 URL을 두 개 더 추가하려고했지만 URL에 문제가있는 것입니다 ...스트림 열지 못했습니다 - DOM 및 File_Put_Contents
하지만 이유가 없습니다 ... 모든 URL (8)은 동일한 기능을 사용합니다 . 그러나 2 개의 새 URL 만 오류를 던지고 있습니다. 여기에 URL을 제공 할 수 없지만 Chrome 브라우저에서 두 URL을 모두 다운로드 할 수 있다고 말할 수 있습니다.
나는 DOM 하나 개의 URL을로드 : 내가 얻을 여기
function fetchCsvDocument($url, $output){
return file_put_contents($output, fopen($url, 'r'));
}
:
DOMDocument::load(http://myurl.de): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
DOMDocument::load(): I/O warning : failed to load external entity ...
이 다른 URL은 fopen을 함께로드됩니다 : 여기
function fetchXmlDocument($url, $output, $dom = null){
if (!$dom instanceof DOMDocument) {
$dom = new DOMDocument('1.0', 'utf-8');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
}
$dom->load($url);
$dom->save($output);
return $dom;
}
나는이 오류 이 오류 :
fopen(http://myurl.de): failed to open stream: HTTP request failed! HTTP/1.1 503 Service Temporarily Unavailable
누군가이 오류를 해결할 수있는 방법을 알고 있습니까? 브라우저로 URL을 다운로드 할 수있는 이유를 알 수 없지만 PHP가 403 또는 심지어 503이라고 알려줍니다.
그 기능을 사용하여 다운로드하고 수정 한 다른 파일은이 오류를 발생시키지 않습니다 ... ...?
안녕하세요. 감사합니다.
을 수행하는 내가 사용하는 것이 좋습니다 ['libxml_set_streams_context'] (http://php.net/manual/ en/function.libxml-set-streams-context.php)를 사용하여 사용자 에이전트를 설정하십시오. 작동하지 않는다면 더 많은 옵션을 제공하고 더 많은 정보를 반환하는'cURL'을 사용하여 파일을로드하십시오. [http 상태 코드] (https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)에 대한 추가 정보 –