मैं खुद को एक अनुभवी PHP डेवलपर कहता हूं, लेकिन यह मुझे पागल बनाता है। मैं अद्यतन-चेतावनियों को प्रदर्शित करने के लिए एक भंडार की रिलीज सूचनाएं प्राप्त करने का प्रयास कर रहा हूं, लेकिन मैं 403 त्रुटियों को वापस रखता हूं। इसे सरल बनाने के लिए मैंने गिटहब्स एपीआई का सबसे सरल उपयोग किया: https://api.github.com/zen प्राप्त करें। यह एक हैलो दुनिया की तरह है।file_get_contents() api.github.com से 403 प्राप्त होता है हर बार
यह
- सीधे ब्राउज़र
- एक सादे
curl https://api.github.com/zen
साथ में एक टर्मिनल - में एक PHP-Github-एपीआई-क्लास के मामले php-github-api
तरह काम करता है यह नहीं काम करता है
- एक सरल
file_get_contents()
एक PHP-Skript
यह मेरे पूरे सरलीकृत कोड है से साथ:
<?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-field याद आ रही हैं, लेकिन न ही मुझे API-Docs में उन सूचनाओं को मिल सकता है, न ही मेरे टर्मिनल curl
का उपयोग करता है-किसी भी विशेष शीर्षलेख फ़ाइलों और कार्यों को कॉल करें।
क्या आपके पास कोई संकेत है? अग्रिम में धन्यवाद!
आप उपयोग कर की कोशिश की [फ़िडलर] (http://www.telerik.com/fiddler) अलग-अलग कॉल तुलना करने के लिए? –
'allow_url_fopen' सक्षम है? – Pitchinnate
'allow_url_fopen' सक्षम है। टूल सिफारिश के लिए धन्यवाद @ रिकिक्स, मैं अपने भविष्य के वर्कफ़्लोज़ में शामिल करूंगा। जैसा कि मैंने अनुमान लगाया था, समाधान एक लापता हेडर फ़ील्ड था। चिह्नित उत्तर देखें। –