PHP获取远道文件

Jun 13, 2016 pm 01:24 PM
file get quot the

PHP获取远程文件
if(!($contents=file_get_contents('http://finance.yahoo.com/d/quotes.csv?s=AMZN&e=.csv&f=slldltlclohgv'))){
die('fail to open yahoo');
};
echo $contents;


为什么平均要刷新3-4下才有一次成功,其他都会出现一个警告,提示 HTTP request failed!


------解决方案--------------------

C/C++ code
Bart Friederichs 16-Apr-2012 12:17
file_get_contents can do a POST, create a context for that first:

$opts = array('http' =>
  array(
    'method'  => 'POST',
    'header'  => "Content-Type: text/xml\r\n".
      "Authorization: Basic ".base64_encode("$https_user:$https_password")."\r\n",
    'content' => $body,
    'timeout' => 60
  )
);
                        
$context  = stream_context_create($opts);
$url = 'https://'.$https_server;
$result = file_get_contents($url, false, $context, -1, 40000);
pperegrina 21-Dec-2011 11:30
For those having this problem when trying to get_file_contents(url):

Warning: file_get_contents(url): failed to open stream: HTTP request failed!  in xx on line yy

If you are behind a SonicWall firewall, read this:
https://bugs.php.net/bug.php?id=40197
(this little line: uncheck a box in the internal settings of the firewall labled "Enforce Host Tag Search with for CFS")

Apparently by default SonicWall blocks any HTTP request without a "Host:" header, which is the case in the PHP get_file_contents(url) implementation.

This is why, if you try to get the same URL from the same machine with cURL our wget, it works.

I hope this will be useful to someone, it took me hours to find out :)
godwraith01 at yahoo dot com 11-Oct-2011 04:16
I experienced a problem in using hostnames instead straight IP with some server destinations.

If i use file_get_contents("www.jbossServer.example/app1",...)
i will get an 'Invalid hostname' from the server i'm calling.

This is because file_get_contents probably will rewrite your request after getting the IP, obtaining the same thing as :
file_get_contents("xxx.yyy.www.zzz/app1",...)

And you know that many servers will deny you access if you go through IP addressing in the request.

With cURL this problem doesn't exists. It resolves the hostname leaving the request as you set it, so the server is not rude in response. <div class="clear">
                 
              
              
        
            </div>
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Poésie aléatoire d'application native Hongmeng Poésie aléatoire d'application native Hongmeng Feb 19, 2024 pm 01:36 PM

Poésie aléatoire d'application native Hongmeng

Utilisez la fonction File.length() de Java pour obtenir la taille du fichier Utilisez la fonction File.length() de Java pour obtenir la taille du fichier Jul 24, 2023 am 08:36 AM

Utilisez la fonction File.length() de Java pour obtenir la taille du fichier

Comment convertir un blob php en fichier Comment convertir un blob php en fichier Mar 16, 2023 am 10:47 AM

Comment convertir un blob php en fichier

Renommez les fichiers à l'aide de la fonction File.renameTo() de Java Renommez les fichiers à l'aide de la fonction File.renameTo() de Java Jul 25, 2023 pm 03:45 PM

Renommez les fichiers à l'aide de la fonction File.renameTo() de Java

Après 2 mois, le robot humanoïde Walker S peut plier les vêtements Après 2 mois, le robot humanoïde Walker S peut plier les vêtements Apr 03, 2024 am 08:01 AM

Après 2 mois, le robot humanoïde Walker S peut plier les vêtements

Comment automatiser les tâches à l'aide de PowerShell Comment automatiser les tâches à l'aide de PowerShell Feb 20, 2024 pm 01:51 PM

Comment automatiser les tâches à l'aide de PowerShell

Utilisez la fonction File.getParentFile() de Java pour obtenir le répertoire parent du fichier Utilisez la fonction File.getParentFile() de Java pour obtenir le répertoire parent du fichier Jul 27, 2023 am 11:45 AM

Utilisez la fonction File.getParentFile() de Java pour obtenir le répertoire parent du fichier

Utilisez la fonction File.getParent() de Java pour obtenir le chemin parent du fichier Utilisez la fonction File.getParent() de Java pour obtenir le chemin parent du fichier Jul 24, 2023 pm 01:40 PM

Utilisez la fonction File.getParent() de Java pour obtenir le chemin parent du fichier

See all articles