您好,欢迎访问一九零五行业门户网

php-curl模拟查询遇到的问题求助

phpcurl
我要通过curl模拟查询别人网站上的数据
比如查http://track.thailandpost.co.th/trackinternet/default.aspx?lang=en
上的记录
下面是我的代码
/*测试单号
ra686607335cn
ra686608185cn
*/
$num=ra686603157cn;
$post_url='http://track.thailandpost.co.th/trackinternet/default.aspx?lang=en';
$ch=curl_init($post_url);
$header=array(
host:track.thailandpost.co.th,
user-agent:mozilla/5.0 (windows nt 6.1; rv:23.0) gecko/20100101 firefox/23.0,
connection:keep-alive,
content-type:text/html; charset=windows-874,
referer:http://track.thailandpost.co.th/trackinternet/default.aspx,
location:/trackinternet/result.aspx,
);
curl_setopt($ch, curlopt_httpheader, $header);
curl_setopt($ch, curlopt_header, 0);
curl_setopt($ch, curlopt_returntransfer, 1);
$con1=curl_exec($ch);
curl_close($ch);
//post 提交时有变化的参数,先匹配出来 然后作为参数提交
$parg='#preg_match_all($parg, $con1, $arg);
$arg[1][0]=urlencode($arg[1][0]);
$arg[2][0]=urlencode($arg[2][0]);
//-----------------------------------------------------------------------------------------------
$post_data=login.x=44&login.y=11&textbarcode=.$num.&__eventtarget=login&__eventvalidation=.$arg[2][0].&__viewstate=.$arg[1][0];
$ch=curl_init($post_url);
//post提交时的请求头信息
$p_header=array(
accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
accept-encoding:gzip, deflate,
accept-language:zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3,
connection:keep-alive,
host:track.thailandpost.co.th,
referer:http://track.thailandpost.co.th/trackinternet/default.aspx?lang=en,
user-agent:mozilla/5.0 (windows nt 6.1; rv:23.0) gecko/20100101 firefox/23.0,
);
curl_setopt($ch, curlopt_header, 0);
curl_setopt($ch, curlopt_returntransfer, 1);
curl_setopt($ch, curlopt_post, 1);
curl_setopt($ch, curlopt_httpheader, $p_header);
curl_setopt($ch, curlopt_postfields, $post_data);
$cookie_file=tempnam('c:/', 'tg_');
curl_setopt($ch,curlopt_cookiejar, $cookie_file);
$con=curl_exec($ch);
curl_close($ch);
//得到cookie后 携带它去访问 下个页面
$url=http://track.thailandpost.co.th/trackinternet/result.aspx;
$ch=curl_init($url);
$c_header=array(
get /trackinternet/result.aspx http/1.1,
host: track.thailandpost.co.th,
user-agent: mozilla/5.0 (windows nt 6.1; rv:23.0) gecko/20100101 firefox/23.0,
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
accept-language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3,
accept-encoding: gzip, deflate,
referer: http://track.thailandpost.co.th/trackinternet/default.aspx,
connection: keep-alive,
);
curl_setopt($ch, curlopt_header, 0);
curl_setopt($ch, curlopt_cookiefile, $cookie_file);
curl_setopt($ch, curlopt_returntransfer, 1);
curl_setopt($ch, curlopt_httpheader, $c_header);
curl_setopt($ch, curlopt_followlocation, 1); // 使用自动跳转
$con=curl_exec($ch);
curl_close($ch);
echo $con;
cookie文件明明成功了,但是为什么 拿着cookie访问别的页面时 cookie好像没起作用,往错误页跳转
其它类似信息

推荐信息