我稱自己是一位經驗豐富的PHP開發人員,但這讓我瘋狂。我試圖獲取存儲庫的發佈信息以顯示更新警告,但我一直返回403錯誤。爲了簡化它,我使用了GitHubs API的最簡單的用法:GET https://api.github.com/zen。這是一個你好的世界。file_get_contents()每次從api.github.com獲取403
這工作
- 直接在瀏覽器
- 使用純
curl https://api.github.com/zen
在終端 - 用PHP-Github的-API級等php-github-api
這工作不
- 與來自PHP-Skript
這是我的整個簡化代碼的簡單file_get_contents()
:
<?php
$content = file_get_contents("https://api.github.com/zen");
var_dump($content);
?>
的瀏覽器顯示Warning: file_get_contents(https://api.github.com/zen): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
,可變$content
是布爾和false
。
我想我錯過了某種類型的http-header-fields,但我既沒有在API-Docs中找到這些信息,也沒有使用我的終端curl
-調用了任何特殊的頭文件和工程。
你有什麼提示嗎?提前致謝!
你嘗試使用[提琴手(http://www.telerik.com/fiddler)來比較不同的電話? –
是否啓用了'allow_url_fopen'? – Pitchinnate
'allow_url_fopen'已啓用。感謝@RickS提供的工具建議,我將其納入我未來的工作流程中。正如我猜測的那樣,解決方案是一個缺失的標題字段。看到明顯的答案。 –