Как программа может войти на сайт, имеющий HTML-форму для имени пользователя и пароля - PullRequest
0 голосов
/ 03 августа 2011

Мне нужно соскрести с веб-сайта, который требует аутентификации, то есть пользователь должен войти в систему, указав там имя пользователя и пароль в виде HTML.Соединение не защищено.Я планирую использовать Pear Framework для форматирования запроса.Я застрял в первой части, которая публикует информацию для входа в систему.Как я могу отправить данные формы?Заранее благодарен за любую помощь.

У меня установлен fiddler2, но я не уверен, что искать, когда я делаю вход в систему вручную.

Я использую curl и получаю некоторый успех.Я удалил все куки в своем веб-браузере и зашел на сайт для входа.В fiddler он дал мне следующие заголовки запроса

GET http://example.com/niceday/dirlogin.php HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-CA
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: example.com
DNT: 1
Connection: Keep-Alive
Cookie: chatRoomUserID=119972; ASPSESSIONIDSSRQCCBR=26jqrt3f8dus2l2s42g4r9npp5

Я запутался в последнем, я запрашиваю cookie?

В своем скрипте я подделал первый запрос с помощью

curl_setopt($ch,CURLOPT_HTTPHEADER, array('GET http://example.com/niceday      /dirlogin.php     HTTP/1.1',
'Accept: text/html, application/xhtml+xml, */*',
'Referer: http://r2sports.bkoehler.j43.ca/tourney/tourneyTop.php?TID=3206',
'Accept-Language: en-CA',
'User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)',
'Accept-Encoding: gzip, deflate',
'Connection: Keep-Alive',
'DNT: 1',
'Host: r2sports.bkoehler.j43.ca',
'Cookie: chatRoomUserID=995222; ASPSESSIONIDSSRQCCBR=26jqrt3f8dus2l2s42g4r9npp5'));

Ответы [ 2 ]

0 голосов
/ 03 августа 2011

Как я могу отправить данные формы?

Вот как:

<form action="./login.php" method="post">
<input type="text" name="username" />
<input type="password" name="password" />
</form>

Используйте login.php для обработки ваших данных $ _POST.

0 голосов
/ 03 августа 2011

Вы можете использовать это: http://www.php.net/manual/en/book.curl.php#90821 и установить местоположение файла cookie, чтобы ваш скрипт мог оставаться аутентифицированным. В следующий раз, когда он свяжется с этим веб-сайтом, он будет использовать файлы cookie, ранее сохраненные в файле в расположении файла cookie.

...