2010-01-26 6 views
1

J'essaie de remplacer RSS polling par PubSubHubbub sur mon site. Je suis en mesure d'utiliser la bibliothèque d'abonnés que Google propose pour envoyer la demande d'abonnement. À partir du code, il semble qu'il envoie une demande de publication via cURL avec l'URL RSS et une URL de rappel.Réception et traitement d'une requête GET en PHP

C'est donc là j'ai besoin de direction:

Afin de compléter la demande d'abonnement mon URL de rappel doit recevoir une requête GET et retour d'écho une valeur de la requête GET avec une réponse 200. Comment puis-je obtenir les paramètres de la requête GET? L'écho est-il refait via cURL? Si oui, quelle option devrait inclure la réponse 200?

Répondre

2

Je ne suis pas sûr si je manque un point, mais est-ce un script très simple un début?

<?php 

    echo $_GET["request_name"]; 

?> 

cette sortie sera le paramètre GET request_name et (implicitement) envoyer un 200.

+0

Ce fut la première chose que j'ai essayé. La requête GET est supposée inclure un paramètre appelé "hub.challenge". J'ai donc utilisé $ _GET et essayé d'écrire la valeur dans un fichier txt. J'ai ajouté une chaîne aussi, et elle atteint le rappel car elle montre la chaîne dans le fichier txt mais pas la valeur du paramètre utilisant $ _GET. –

+0

$ request = $ _GET ['hub.challenge']; Fh = fopen ('test.txt,' a ') ou die ("impossible d'ouvrir le fichier"); Fwrite ($ fh, 'Test:'. $ Request); fclose ($ fh); –

+0

Hmm. Cela ressemble o.k. et devrait certainement sortir un paramètre GET de ce nom. Le point dans le nom de la variable ne devrait pas non plus poser de problème. Pouvez-vous confirmer d'abord que votre script est appelé avec le paramètre, par exemple en vérifiant les journaux d'accès? Quelle est votre version de PHP? –

1

Il y avait récemment un fil sur la liste de diffusion php-dev à ce sujet. La raison pour laquelle vous ne pouvez pas accéder à 'hub.challenge' dans la superglobale $ _GET est due à register_globals. Fondamentalement, PHP nettoie tous les noms d'arguments avant de créer les superglobaux. Tous les points seront convertis en traits de soulignement. Il cherche à être «corrigé» en PHP 6, mais pas avant en raison des problèmes de la Colombie-Britannique.

Here's the thread about it.