Получение и обработка запроса GET на PHP - PullRequest
2 голосов
/ 26 января 2010

Я пытаюсь заменить опрос RSS на PubSubHubbub на моем сайте.Я могу использовать библиотеку подписчиков, которую предлагает Google для отправки запроса на подписку.Из кода это выглядит так, как будто он отправляет запрос на публикацию через cURL с URL-адресом RSS и URL-адресом обратного вызова.

Так что здесь мне нужно какое-то направление:

Для выполнения запроса на подпискумой URL обратного вызова должен получить запрос GET, а затем вернуть значение из запроса GET вместе с ответом 200.Как получить параметры из запроса GET?Повторяется ли эхо через cURL?Если да, то какой вариант должен включать ответ 200?

Ответы [ 2 ]

4 голосов
/ 26 января 2010

Этот очень простой скрипт должен быть началом:

  echo $_GET["request_name"];

это выведет параметр GET request_name и (неявно) отправит 200.

Также хорошей идеей является явное объявление типа контента перед отображением, чтобы предотвратить включение типа контента по умолчанию (обычно «text / html»):

header("Content-type: text/plain");

Обратите внимание, что при отображении внешних данных вам может понадобиться сначала санировать вывод - если, например, формат вывода - HTML, вам нужно сделать что-то вроде echo htmlspecialchars($_GET["request_name"]);, чтобы предотвратить Межсайтовый скриптинг .

2 голосов
/ 26 января 2010

Недавно в списке рассылки php-dev появилась тема об этом. Причина, по которой вы не можете получить доступ к hub.challenge в $ _GET superglobal, связана с register_globals. В основном PHP очищает любые имена аргументов перед созданием суперглобальных. Любые точки будут преобразованы в подчеркивания. Он выглядит «исправленным» в PHP 6, но не раньше из-за проблем с BC.

Вот нить об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...