2009-12-03 6 views
3

J'essaie d'utiliser curl à l'intérieur de php pour récupérer une page de mon propre serveur web. La page est assez simple, a juste une sortie de texte en clair. Cependant, il renvoie 'null'. Je peux récupérer avec succès d'autres pages sur d'autres domaines et sur mon propre serveur. Je peux le voir dans le navigateur très bien, et je peux le saisir avec la ligne de commande wget très bien, c'est juste que lorsque j'essaie d'attraper cette page particulière avec curl, il revient simplement à zéro. Nous ne pouvons pas utiliser file_get_contents parce que notre hôte l'a désactivé. Pourquoi dans le monde ce comportement serait-il différent?PHP: Curl ne peut pas saisir une page en texte seul sur mon propre site

+0

Pouvez-vous mettre en place un lien vers la page? –

+0

Et avez-vous essayé curl_error()? http://de2.php.net/curl_error –

+0

@Pekka: Malheureusement, non, je ne peux pas partager la page avec le public. Et curl_error() ne tousse pas quelque chose. J'espérais que «site montrant bien dans un navigateur, ne pas apparaître avec boucle» en soi était indicative de quelque chose ... – AlexMax

Répondre

1

Essayez setting L'agent utilisateur de curl. Parfois, les hôtes bloquent les «bots» en bloquant des choses comme wget ou curl - mais ils le font généralement en examinant l'agent utilisateur.

1

Vous devriez vérifier la sortie de curl_error() et aussi jeter un oeil à vos fichiers journaux pour le serveur http.

2

a trouvé le problème. Je mettais mon URL dans un endroit qui n'était pas dans curl_init(), et cet endroit tronquait la chaîne de requête. Une fois que je l'ai déplacé à curl_init, cela a fonctionné.

Questions connexes