PHP模拟POST aspx页面不成功
应该放回 -2|车牌号码错误
/************************************************************************
Name: POST 测试程序 Vesion: 1.0 Date: 2004-08-05
*************************************************************************/
$keyimg=$_POST['keyimg'];
if($keyimg){
$flag = 0;
//要post的数据
$argv = array(
'action'=>'Illagel',
'back4'=>'3248',
'headno'=>'粤',
'no'=>'LA9532',
'type'=>'02',
'validate'=>$keyimg
);
//构造要post的字符串
foreach ($argv as $key=>$value) {
if ($flag!=0) {
$params .= "&";
$flag = 1;
}
$params.= $key."=";
$params.= urlencode($value);
//$params.= $value;
$flag = 1;
}
echo $params;
$length = strlen($params);
//创建socket连接
$fp = fsockopen("www.gdhzcgs.com",80,$errno,$errstr,10) or exit($errstr."--->".$errno);
//构造post请求的头
//$header = "POST /Illegal.aspx HTTP/1.1\r\n";
$header = "POST /Ajax.aspx HTTP/1.1\r\n";
$header .= "Host:www.gdhzcgs.com\r\n";
$header .= "Referer:www.gdhzcgs.com/Illegal.aspx\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: ".$length."\r\n";
$header .= "Connection: Close\r\n\r\n";
//添加post的字符串
$header .= $params."\r\n";
//发送post的数据
fputs($fp,$header);
$inheader = 1;
while (!feof($fp)) {
$line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据
if ($inheader && ($line == "\n" || $line == "\r\n")) {
$inheader = 0;
}
if ($inheader == 0) {
echo $line;
}
}
fclose($fp);
}
else{
echo 'keyimg=空';
}
?>
回复讨论(解决方案)
有curl不用非得自己造*,看着就蛋疼。
有curl不用非得自己造*,看着就蛋疼。
curl
http://www.gdhzcgs.com/Ajax.aspx
也是 返回
0|访问限制!请重新加载页面
Request Headers Value
(Request-Line) POST /Ajax.aspx HTTP/1.1
x-requested-with XMLHttpRequest
Accept-Language zh-CN
Referer http://www.gdhzcgs.com/Illegal.aspx
Accept */*
Content-Type application/x-www-form-urlencoded
Accept-Encoding gzip, deflate
User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host www.gdhzcgs.com
Content-Length 69
Connection Keep-Alive
Cache-Control no-cache
Cookie ASP.NET_SessionId=rimtcb55pc2gcgurkaimgi45; CNZZDATA3614737=cnzz_eid=42940778-1343020353-&ntime=1343020353&cnzz_a=0&retime=1343020354714&sin=<ime=1343020354714&rtime=0
有Cookie呀..
找个HTTPWATCH完全模拟访问过程..新手容易忽略 AJAX 访问..
这个也需要模拟 很多SESSION隐藏着 都是通过AJAX"秘密"生成的,要把它挖出来..
更复杂点,有时还要看点它的JS代码,木有办法的,跟着httpwatch完全模拟访问吧
我跨域访问也遇到同样的问题呀,晕,请问楼主最后是用什么方法解决的,同求?