PHP - Snoopy Post запрос + обслуживание сеанса?
Вопрос
Используя Snoopy, я делаю запрос, но кажется, что для поста используется другой сеанс? Когда я повторяю результаты запроса, установлен сеанс, но после нажатия на любую ссылку страница возвращается в состояние не сессии.
В настоящее время я использую этот код, чтобы сделать запрос
$dashboard = new Snoopy;
$dashboard->referer = "URL";
$dashboard->httpmethod = "POST";
$dashboard->submit("URL", $_POST);
echo $dashboard->results;
У меня нет возможности использовать Curl, так как у меня нет управления сервером.
У меня есть ощущение, что это из -за того, что Snoopy делает новый session_id для http post? Я видел биты, но ничего конкретного о том, как поддерживать сеанс между этими запросами?
Решение
Если вы не перенесете SessionId на страницу, которую вы звоните Snoopy (Это было бы верно для любого другого способа выполнения этого HTTP -запроса), затем, при генерации этой страницы, PHP будет:
- Попробуйте начать сеанс
- Поскольку идентификатор сеанса не был получен, будет запущена новая сессия
- который будет отличаться от того, что используется в вашем первом сценарии.
Если вы хотите, чтобы оба сценария поделились одним и тем же сеансом, вам, по крайней мере, вам придется передать идентификатор сеанса во второй сценарий, который обычно выполняется с помощью cookie (Смотрите файлы cookie, которые у вас есть для вашего сайта, в вашем браузере).
В основном: сценарий, который называется через Snoopy, должен получить идентификатор сеанса, так же, как сценарий, который его получает браузер.
Другие советы
Вам нужно позвонить session_start
Функция при отправке файла URL.
Таким образом, сеанс может поддерживать так, как вы хотите.