PHP - Snoopy POST-запрос + поддерживать сессию? - PullRequest
0 голосов
/ 10 марта 2010

Используя Snoopy, я делаю запрос, но кажется, что для POST используется другая СЕССИЯ? Когда я повторяю результаты запроса, SESSION устанавливается, но после нажатия любой ссылки страница возвращается в состояние, не установленное для SESSION.

В настоящее время я использую этот код, чтобы сделать запрос

$dashboard = new Snoopy;

$dashboard->referer = "URL";
$dashboard->httpmethod = "POST";
$dashboard->submit("URL", $_POST);

echo $dashboard->results;

У меня нет возможности использовать cURL, так как я не могу контролировать сервер.

У меня такое чувство, что Снупи сделал новый SESSION_ID для HTTP POST? я видел биты, но ничего конкретного о том, как поддерживать сессию между этими запросами?

Ответы [ 2 ]

0 голосов
/ 10 марта 2010

Если вы не передадите SESSIONID на страницу, которую вы вызываете с помощью Snoopy (это будет верно для любого другого способа выполнения этого HTTP-запроса) , тогда при создании этой страницы PHP будет :

  • попытаться начать сеанс
  • поскольку идентификатор сеанса не был получен, будет запущен новый сеанс
  • , который будет отличаться от того, который использовался в вашем первом сценарии.


Если вы хотите, чтобы оба сценария совместно использовали один и тот же сеанс, вам, по крайней мере, нужно будет передать идентификатор сеанса во второй сценарий, который обычно выполняется с помощью файла cookie (см. Файлы cookie, которые есть для вашего сайта, в вашем браузере ) .

По сути: скрипт, который вызывается через Snoopy, должен получать идентификатор сеанса, так же, как скрипт, который вызывается вашим браузером, получает его.

0 голосов
/ 10 марта 2010

Вам необходимо вызвать функцию session_start при отправке файла URL.

итак, сеанс можно поддерживать так, как вы хотите.

...