file_get_contents requête HTTP a échoué
J'ai écrit simple code php pour obtenir une url du contenu, mais il dosn pas de travail
elle renvoie cette erreur
file_get_contents(http://www.nature.com/nature/journal/v508/n7496/full/nature13001.html) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 401 Unauthorized
voici mon code. s'il vous plaît aider moi.tnx
$content=file_get_contents('http://www.nature.com/nature/journal/v508/n7496/full/nature13001.html');
echo $content;
Le "HTTP/1.0 401 Unauthorized" avez-vous ce que cela signifie? en.wikipedia.org/wiki/List_of_HTTP_status_codes en Outre, http wrapper pour file_get_contents n'envoie pas normal d'en-têtes http et peut être reconnu sur le côté serveur...
lire la mise à jour de commentaire. si vous êtes en mesure d'atteindre cet URL dans le navigateur, mais file_get_contents vous donne cette erreur, alors vous devez utiliser cURL, par exemple, pour envoyer un ensemble complet d'en-têtes http. BTW, vous pouvez accéder à l'article du collège/de l'université de réseau, mais si le script s'exécute sur un serveur à l'extérieur du réseau du campus, il peut donner de cette erreur 401, trop.
Tu veux dire voici mon code:
J'ai juste besoin du contenu de cette url, même en tant que spectacle de navigateur. pour les motifs de maching et datamining.
oui @Fred-ii - tanx
lire la mise à jour de commentaire. si vous êtes en mesure d'atteindre cet URL dans le navigateur, mais file_get_contents vous donne cette erreur, alors vous devez utiliser cURL, par exemple, pour envoyer un ensemble complet d'en-têtes http. BTW, vous pouvez accéder à l'article du collège/de l'université de réseau, mais si le script s'exécute sur un serveur à l'extérieur du réseau du campus, il peut donner de cette erreur 401, trop.
Tu veux dire voici mon code:
$content=file_get_contents("http://www.nature.com/nature/journal/v508/n7496/full/nature13001.html");
J'ai juste besoin du contenu de cette url, même en tant que spectacle de navigateur. pour les motifs de maching et datamining.
oui @Fred-ii - tanx
OriginalL'auteur saboteur | 2014-09-25
Vous devez vous connecter pour publier un commentaire.
Voici une alternative à file_get_contents à l'aide de cURL:
Vous voudrez peut-être ajouter cette
curl_setopt($curl, CURLOPT_ENCODING ,"");
si vous rencontrez un problème d'encodage.Comment est que cela ne fonctionne pas ? Pouvez-vous expliquer ?
il est de retour à quelque chose comme ceci ‹ÿŒUÛnÛ8}¶ý‡‰_Ò‘•lÒÝ$kHÚb_vƒ¢ÈC€ 45–ò"”} j'ai essayer de changer l'encodage, mais rien ne s'est vraiment passé
Ajoutez cette ligne:
curl_setopt($curl, CURLOPT_ENCODING ,"");
OriginalL'auteur Adam Sinclair
Ouvrir la page d'aide de votre navigateur et avec la console ouverte, de voir que le serveur ne dispose en effet d'envoyer un 401, même quand la page est envoyé et visible
Sur php, ouvrir l'url dans une autre façon d'ignorer l'erreur (voir http://php.net/manual/en/context.http.php)
Vous remarquerez également qu'il est codé de gzip, voir http://php.net/manual/en/function.gzinflate.php
Happy hacking!
OriginalL'auteur Agi