PHP Crawler - как решать URL с помощью JSESSIONID - PullRequest
0 голосов
/ 29 декабря 2011

а. Я использую простой сканер URL ( Как мне сделать простой сканер в PHP? ) на xyz.com/items/advsearch. Страница отображает результаты после того, как кто-то выполняет расширенный поиск (в котором перечислены все результаты). Я должен скопировать / удалить эти результаты. Теперь, когда я перехожу на страницу «Next>», ее URL кодируется, и сканирование по URL «Next>» возвращает меня на главную страницу расширенного поиска, которая показывает 0 результатов.

б. Еще одна вещь, которую я заметил: при простом обходе URL-адреса человеком, URL-адрес «Next>» не содержит jessionid в качестве параметра, в то время как при получении html-страницы с помощью file_get_contents () он есть. Почему это так?

Мне очень трудно связываться с закодированными URL-адресами / сессиями, которые я не могу сканировать! Нужна срочная помощь.

1 Ответ

0 голосов
/ 29 декабря 2011

jsessionid обычно сохраняется и отправляется в cookie. Добавление его для ссылки на URL-адреса является резервным вариантом, если приложение Java замечает, что клиент может не поддерживать файлы cookie. Вероятно, поэтому параметр jsessionid не добавляется в URL при обходе страниц с помощью веб-браузера, поскольку ваш браузер правильно обрабатывает файлы cookie, а ваш PHP-скрипт - нет.

...