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

模拟post失败 为何

模拟post失败 为什么?
本帖最后由 h420943302 于 2012-12-11 11:18:30 编辑
被认证人姓名:
*(请填写中文字符)
身份证号:
*(15或18位数字)

$url='http://127.0.0.1/think_proj/review/index.php/curl';
$cookie_id=' ecs[visit_times]=2;vvxu_2132_saltkey=oaoaiinb;vvxu_2132_lastvisit=1353993212; vvxu_2132_ulastactivity=1fcbqdogt1v5yt5eratvuz%2bwjv1qvm09zyaqbdb4kl6rkzwornim; lzstat_uv=11374893582414091332|923667; phpsessid=pcq1alboi8sq3r9n7d32du20m6';
$post_fields='checkname='.urlencode($name).'&checknum='.$num;
$ch = curl_init($url);
curl_setopt($ch, curlopt_post, 1);
curl_setopt($ch, curlopt_header, 0);
curl_setopt($ch, curlopt_returntransfer, 1);
curl_setopt($ch, curlopt_cookie, $cookie_id);
curl_setopt($ch, curlopt_postfields, $post_fields);
$contents = curl_exec($ch);
curl_close($ch);echo $contents;
为什么输出来的都是提交前的 画面,一直得不到post后的画面 我哪里写错了。。
------解决方案--------------------
// 模拟请求数据
function curl($url,$postfields,$referer='',$cookie_jar='./cookie.txt'){
$cur = curl_init();
$opt = array(
curlopt_url => $url,
curlopt_header => 1,
curlopt_nobody => 1,
curlopt_port => 80, //端口
curlopt_post => 1, //发送一个常规的post请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。
curlopt_postfields => $postfields,//要传送的所有数据,如果要传送一个文件,需要一个@开头的文件名
curlopt_returntransfer => 1,// 获取的信息以文件流的形式返回,而不是直接输出。
curlopt_ssl_verifyhost => 1,// 从证书中检查ssl加密算法是否存在
curlopt_ssl_verifypeer => 0,// 对认证证书来源的检查,0表示阻止对证书的合法性的检查。
//curlopt_cookie => getcook($url),
//curlopt_useragent => mozilla/4.0 (compatible; msie 6.0; windows nt 5.0),//模拟用户使用的浏览器,在http请求中包含一个user-agent头的字符串。
curlopt_useragent => 'mozilla/5.0 (windows nt 6.1; wow64; rv:9.0.1) gecko/20100101 firefox/9.0.1',
curlopt_followlocation => 1,
curlopt_cookiejar => dirname(__file__).$cookie_jar,
curlopt_cookiefile => dirname(__file__).$cookie_jar,
curlopt_referer => $referer,
);
curl_setopt_array($cur,$opt);
$code = curl_exec($cur);
curl_close($cur);
unset($cur);
return $code;
}
function getcook($url) {
$curl=curl_init($url);
curl_setopt($curl,curlopt_header,1);
curl_setopt($curl,curlopt_returntransfer,1);
$cook=curl_exec($curl);
curl_close($curl);
$out='';
preg_match(/ssid\=(.[^;]*)/i,$cook,$out);
return $out[1];
}
$url = http://pcik.7di.net/pcik_in;
其它类似信息

推荐信息