Последние несколько дней я пытался очистить веб-сайт, но пока безуспешно.
Ситуация следующая:
Веб-сайт, который я пытаюсь очистить, требует данных из формы, представленной ранее. Я распознал переменные, необходимые для веб-приложения, и выяснил, какие заголовки HTTP отправляются исходным веб-приложением.
Поскольку у меня почти нулевые знания в ASP.net, я решил спросить, не упускаю ли я что-то здесь.
Я пробовал разные методы (CURL, получить содержимое и класс Snoopy), вот мой код метода curl:
<?php
$url = 'http://www.urltowebsite.com/Default.aspx';
$fields = array('__VIEWSTATE' => 'averylongvar',
'__EVENTVALIDATION' => 'anotherverylongvar',
'A few' => 'other variables');
$fields_string = http_build_query($fields);
$curl = curl_init($url);
curl_setopt_array
(
$curl,
array
(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => 0, // Not supported in PHP
CURLOPT_SSL_VERIFYHOST => 0, // at this time.
CURLOPT_HTTPHEADER =>
array
(
'Content-type: application/x-www-form-urlencoded; charset=utf-8',
'Set-Cookie: ASP.NET_SessionId='.uniqid().'; path: /; HttpOnly'
),
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $fields_string,
CURLOPT_FOLLOWLOCATION => 1
)
);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Запрошены следующие заголовки:
Заголовки запроса
- Accept: приложение / XML, приложение / XHTML + XML, текст / HTML; д = 0,9, текст / обычный; д = 0,8, изображение / PNG, * 1 028 * / ; д = 0,5
- Content-Type: применение / х-WWW-форм-urlencoded
- Пользователь-агент: Mozilla / 5.0 (Macintosh; U;
Intel Mac OS X 10_6_4; ан-нас)
AppleWebKit / 533.18.1 (KHTML, как
Gecko) Версия / 5.0.2 Safari / 533.18.5
Данные формы
Заголовки ответа
- Cache-Control: частный
- Content-Length: 30168
- Content-Type: Текст / html; кодировка = UTF-8
- Дата: четверг, 09 сентября 2010 г. 17:22:29 GMT
- Сервер: Microsoft-IIS / 6.0
- X-Сеть САШ-версия: 2.0.50727
- X-Powered-By: ASP.NET
Когда я изучаю заголовки сценария CURL, который я написал, каким-то образом не генерируется запрос данных формы. Ни один из методов запроса не установлен на POST. Вот где мне кажется, что дела идут плохо, но не знаю.
Любая помощь приветствуется !!!
РЕДАКТИРОВАТЬ: я забыл упомянуть, что результатом очистки является пользовательская страница с истекшим сроком действия сессии удаленного сайта.