第一个注释行是命令curl行,它获取我需要为cookie获取的确切页面。我想写一个php curl模块,这样我就可以在网页内做一些工作;但是,我的下面的代码检索另一个页面,它是一个"请等待加载页面"没有我需要的JavaScript。
我拆分命令以便于阅读:(这是工作卷曲)
curl "http://domain/Login.fcgi1"
-H "Origin: http://domain"
-H "Accept-Encoding: gzip,deflate,sdch"
-H "Accept-Language: en-US,en;q=0.8"
-H "User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36"
-H "Content-Type: application/x-www-form-urlencoded"
-H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
-H "Cache-Control: max-age=0"
-H "Referer: http://domain/responder.fcgi1?winid=1001&winname=Login&slot=1"
-H "Connection: keep-alive"
--data "14"%"25username=admin&15"%"25password=admin" --compressed
> output.html
这是我的PHP模块,它不返回相同的html输出:(我希望下面的那个返回上面返回的相同值)
<?php
$fp = fopen("tmp/newidu.html", "w");
$ch = curl_init('http://domain/Login.fcgi1');
$headers = array(
'Expect:',
'Origin: http://domain',
'Accept-Language: en-US,en;q=0.8',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Cache-Control: max-age=0',
'Referer: http://domain/responder.fcgi1?winid=1001&winname=Login&slot=1',
'Connection: keep-alive'
);
$user_agent = 'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36';
$post_array = array(
'14%username' => 'admin',
'15%password' => 'admin'
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_ENCODING,'');
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_USERAGENT,$user_agent);
curl_setopt($ch, CURLOPT_POST,TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post_array);
curl_setopt($ch, CURLINFO_HEADER_OUT,TRUE); // TURN ON FOR TSHOOT HEADERS
$response = curl_exec($ch);
var_dump(curl_getinfo($ch, CURLINFO_HEADER_OUT)); // TURN ON FOR TSHOOT HEADERS
$response = curl_exec($ch);
fwrite($fp,$response);
fclose($fp);
?>