我需要从需要身份验证的网站上抓取,即用户必须通过以html格式提供用户名和密码来登录。连接不安全。我打算使用Pear framework格式化请求。我被困在发布登录信息的第一部分。我如何提交表格数据?提前感谢您的帮助。
我已经安装了fiddler2但是我不确定在手动登录时要查找什么。
我正在使用curl并获得一些成功。我在网络浏览器中删除了所有cookie,然后去了网站登录。在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'));
答案 0 :(得分:0)
您可以考虑使用此http://www.php.net/manual/en/book.curl.php#90821并设置Cookie文件位置,以便您的脚本可以保持身份验证状态。下次它将联系该网站时,它将使用之前保存在cookie文件位置的文件中的cookie。
答案 1 :(得分:0)
如何提交表单数据?
以下是:
<form action="./login.php" method="post">
<input type="text" name="username" />
<input type="password" name="password" />
</form>
使用login.php处理$ _POST数据。