2011-05-01 4 views
0

Je suis actuellement confronté à un problème qui concerne la recherche google, curl et json.json google search curl proxy php

d'abord tout ce que je voudrais vous montrer le code que je l'ai déjà: http://pastebin.com/LZzDZvHC

Laissez-moi vous expliquer des choses à ce sujet:

  • Je ne suis pas montrant la clé que je reçus de Google
  • $ data est le message que je reçois de la forme soumise
  • ip est l'adresse IP de l'utilisateur
  • $ url est évidemment le ajax demande une adresse de googleapps

donc si j'imprime le $ url et le mets dans mon navigateur j'obtiens un bon retour JSON - fonctionne parfaitement. Je suppose que vous pouvez déjà deviner quel est le problème. Après ces déclarations, je commence le curling.

Je récupère quelque chose et je veux convertir le json en tableau. Donc, voici le problème: Je ne récupère pas JSON Je reçois une erreur.

disant:

400. C'est une erreur. Votre client a émis une demande malformée ou illégale. C'est tout ce que nous savons.

Avec un joli logo Google sur le dessus.

J'ai donc essayé de mettre un agent utilisateur dans ma requête curl -> ne fonctionne pas aussi bien.

Ne vous inquiétez pas de mon json_decode() - J'ai installé et le tester et il fonctionne très bien! Donc, il n'y a pas de problème là-bas.

Comme je reçois ce message d'erreur, je reçois évidemment un "NULL" de la var_dump(); SI je ne définissez pas [assoc] sur true, mon navigateur ne montre même pas mon site web. (http://www.php.net/manual/en/function.json-decode.php)

Maintenant, s'il vous plaît consulter le docu de google: http://code.google.com/apis/websearch/docs/ défilement vers le bas pour Php Accès

Je pourrais imaginer que ce n'est pas seulement un problème avec la recherche mais aussi avec d'autres services google car cela me semble être une restriction car ma demande de curl provient d'un serveur.

J'espère que quelqu'un a une idée de comment résoudre ce problème parce que je voudrais l'utiliser.

+1

Quelle est la sortie de 'print $ url;'? Cela vous semble-t-il correct? Vous pourriez avoir besoin d'urlencode les valeurs de paramtres ... (Je vois une belle rponse JSON quand j'ouvre https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=oele&key=boele&userip=12.34. 6.78) – Rudie

+0

incroyable - c'était le problème. Je pense que je pensais juste à complexe. Merci beaucoup! – Richard

+0

Je fais une réponse pour que vous puissiez l'accepter. – Rudie

Répondre