2010-04-23 5 views
0

Ok, donc j'ai un problème avec une requête AJAX. J'ai actuellement cette URL:Comment envoyer des en-têtes via un proxy PHP?

http://www.google.com/images?hl=en&safe=off&gbv=2&tbs=isch%3A1&sa=1&q=cars+imagesize%3A500x500&aq=f&aqi=&aql=&oq=&gs_rfai=&start=0

Je passe alors à mon script de proxy en modifiant la chaîne à ceci:

proxy.php url = http://www.google.com/images?hl=en&safe=off&gbv=2&tbs=isch%3A1&sa=1&q=cars+imagesize%3A500x500&aq=f&aqi=&aql=&oq=&gs_rfai=&start=0

-je utiliser la Script PHP proxy pour récupérer le HTML de cette page afin que je puisse ensuite l'analyser avec javascript. Cependant, le problème est que les en-têtes de cette URL sont également envoyés au script proxy, et par conséquent, j'obtiens une erreur «malformée ou illégale». Je suis assez sûr que les deux différents ensembles d'en-têtes sont le problème, parce que si je remplace juste la chaîne URL originale avec «http://wwww.google.com», le proxy renvoie le HTML de la page correctement.

Donc, fondamentalement, je ne sais pas comment résoudre ce problème. Je suis un Noob PHP complet, et j'ai essayé d'échapper l'URL d'origine avant de l'ajouter à 'proxy.php? Url =', mais cela ne corrige rien. Des idées?

Merci!

Répondre

1

Vous l'avez deviné - vous devez utiliser encodeURIComponent() sur la chaîne d'URL d'origine avant de l'ajouter à la chaîne de proxy.