我一直在阅读卷曲屏幕抓取信息几个小时,我似乎无法弄清楚我在做什么是对还是错。我不知道如何判断我的登录尝试是否有效。
目标是“简单”,发布到登录页面然后从登录页面中提取数据。
从中可以看出,Tamper Data的网站似乎主要使用post params进行网页导航,所以我正在制作两个curl请求。一个登录,一个从页面获取HTML。到目前为止,我得到的转储是:
string(7097)“HTTP / 1.1 200 OK Set-Cookie:sp21webs = a11a060bf1DELETED000064000000;到期=周一,2013年10月21日01:47:02 GMT;路径= / 服务器:“” 日期:星期一,2013年10月21日01:37:01 GMT 内容类型:text / html 最后修改日期:2013年10月13日星期日21:54:39 GMT 内容长度:6781 Etag:“1a7d-DELETED69f” 接受范围:字节
看起来像登录页面HTML
我对Curl的工作方式不是很熟悉,这是我的代码:
$submit_url = "https://okbnetplaza.com/WBIG0001.html";
$curl = curl_init();
$cookie = 'cookies.txt';
$params = array (
"__uid" => "<hidden>",
"PIN" => "<hidden>",
"__type" => "0001",
"__gid" => "WBIG0001",
"__func" => "%A3%CF%A3%CB",
"__func2" => "%A5%ED%A5%B0%A5%A4%A5%F3",
"RegType" => "0",
);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC ) ;
curl_setopt($curl, CURLOPT_SSLVERSION,3);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params );
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($curl, CURLOPT_URL, $submit_url);
$result = curl_exec($curl);
var_dump($result);
curl_close($curl);
echo "<h1> Login Work????</h1>";
$urltopost = "https://okbnetplaza.com/WBIG0001.html";
$datatopost = array (
"__type" => "0033",
"__gid" => "WBIG0005",
"__func" => "%A3%CF%A3%CB",
"AccountListType" => "1",
"DispAccountInfo" => "00000000000000000000",
);
$ch = curl_init ($urltopost);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $datatopost);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$returndata = curl_exec ($ch);
var_dump($returndata);
问题: 我目前的代码,似乎没有通过登录页面。您是否发现我的curl请求有任何问题会阻止登录?你看到有什么想登录和抓取工作吗?
提前致谢