PHP cURL с XmlHttpRequest - PullRequest
       9

PHP cURL с XmlHttpRequest

0 голосов
/ 21 марта 2011

Сценарий: Это форма голосования (voice.php) с 3 полями, одно из которых является скрытым полем, содержащим хэш.Как только вы отправляете форму, она запрашивает с помощью GET отдельный скрипт (process.php) через XHR.Я пытаюсь смоделировать это с помощью cURL, но до сих пор дошел только до получения хэша и сохранения phpsessionid с помощью jar-файла cookie.

Проблема: Кажется сценарий обработки (process.php)чтобы можно было определить, не прошел ли запрос с использованием XHR, и выдаст ли ошибку, если я просто отправлю необходимые параметры с помощью обычного cURL GET.

Так как же имитировать XHR в cURL?Или я могу даже ошибаться, говоря, что в cURL есть XHR, поэтому не могли бы вы посоветовать какие-либо методы, как этого добиться.

Ответы [ 2 ]

3 голосов
/ 21 марта 2011

Существует большая вероятность, что process.php проверяет XHR-запрос, просматривая заголовок HTTP_X_REQUESTED_WITH , например:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']=="XMLHttpRequest") { /* Do stuff here */ }

Так что вы можете попробовать установить этот заголовок вВаш запрос cUrl:

curl -H "HTTP_X_REQUESTED_WITH:XMLHttpRequest"

Это имеет хорошие шансы на работу.Удачи!

2 голосов
/ 21 марта 2011

Добавьте следующий заголовок: X-Requested-Width: XMLHttpRequest.Это добавлено всеми основными библиотеками JS для упрощения идентификации таких запросов на сервере.

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