2010-09-27 8 views
2

J'essaie d'ouvrir lire une page sur mon propre site pour un moteur de recherche que j'essaie de faire fonctionner. J'ai essayé plusieurs façons de le faire:
file_get_contentsPHP en train de lire une page sur mon site

$temp = file_get_contents("http://www.mysite.com/example01/"); 
echo $temp; 

retourne:

Warning: file_get_contents(http://www.mysite.com/example01/) [function.file-get-contents]: failed to open stream: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\inetpub\wwwroot\mysite\example01\temp.php on line 66

papillotes

function curl($url){ 
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_HEADER, true); // Display headers 
    curl_setopt($ch, CURLOPT_VERBOSE, true); // Display communication with server  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

    print "<pre>\n"; 
    print_r(curl_getinfo($ch)); // get error info 
    echo "\n\ncURL error number:" .curl_errno($ch); // print error info 
    echo "\n\ncURL error:" . curl_error($ch); 
    print "</pre>\n"; 

    return curl_exec($ch); 
    curl_close($ch); 
} 
$temp = curl("http://www.mysite.com/example01/"); 
echo "'$temp'"; 

retourne:

Array ( [url] =>http://www.jlwarranty.com/example01/ [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => 0 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0 [namelookup_time] => 0 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => 0 [upload_content_length] => 0 [starttransfer_time] => 0 [redirect_time] => 0)

cURL error number:0

cURL error:

''

il faut environ 30 secondes pour que la page soit rechargée. CURL est activé dans php.ini, tout comme allow_url_fopen.

Répondre

1

Pourrait-il s'agir d'un problème de pare-feu? J'ai eu un problème il y a un certain temps pour un client où je ne pouvais pas utiliser cURL ou le wrapper de flux http pour accéder à une ressource externe, bien que les deux soient activés. Le support d'hébergement m'a dit que leur pare-feu interdisait par défaut les requêtes http sortantes de leurs serveurs et qu'ils devaient ajouter une exception pour le site auquel j'essayais d'accéder. À partir du premier message d'erreur, il semble que vous l'exécutez sur votre propre PC en utilisant IIS. Y a-t-il quelque chose dans la configuration de IIS ou dans la configuration de votre ordinateur qui empêche le serveur d'accéder aux ressources distantes?

+0

C'était le problème. Je l'ai contourné en plaçant l'adresse IP de nos sites dans le fichier hosts sous www.mysite.com, de sorte que le script de recherche ne doit pas être modifié de façon drastique. – AndyD273

0

Votre site est-il hébergé chez un hébergeur?

Parfois, un site hébergé n'est pas visible lui-même sous son nom usuel - il pourrait être appelé www.mysite.com de l'extérieur, mais vous devez appeler quelque chose comme www.mysite.com.internal .myprovider.com pour y accéder depuis le réseau du fournisseur d'hébergement.

Cela vaut la peine de demander au service d'assistance de votre fournisseur d'hébergement si c'est le cas et quel est le nom interne de votre site.

+0

Son hébergé sur Rackspace ... Je vais devoir leur donner un appel. – AndyD273

+0

Aussi, c'est une machine Windows exécutant IIS, donc je ne sais pas si cela fait une différence. – AndyD273

Questions connexes