有的時(shí)候我們會(huì)用curl模擬提交一些ajax需要提交的數(shù)據(jù),其中有的是他自己構(gòu)建的一些方法,所以呢,就需要我們自己來(lái)構(gòu)建header頭來(lái)完全模擬,在本次demo中,有提到j(luò)son,因?yàn)橛械氖褂胘s或者jquery來(lái)轉(zhuǎn)化為json的其中,中文不會(huì)轉(zhuǎn)義,而代碼會(huì),這個(gè)參數(shù)是在php5.4之后才支持的,大家切記。還有就是這是一個(gè)模擬登陸aspx類型的網(wǎng)站,其實(shí)原理是一樣的,最重要的就是分析好他需要什么參數(shù)和數(shù)據(jù),而我們?cè)鯓訕?gòu)建、獲得和組合,萬(wàn)變不離其宗,相信大家都可以的。。。
$cookie_file=dirname(__FILE__)."/cookie.tmp";
$cookie_files=dirname(__FILE__)."/cookies.tmp";
$headers_login=array("User-Agent"=>"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36");
$post_url="http://post.globrand.com/member/UserLogin.aspx";
$post=array("BaseTextBox1"=>"nmdr88","BaseTextBox2"=>"nmdr880217","__VIEWSTATE"=>"/wEPDwUJNjUzMTkwMTE0ZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQUOTXlJbWFnZUJ1dHRvbjFg33EbGTscw5RfbydKFvsibpHfug==","__VIEWSTATEGENERATOR"=>"9B5805F3","MyImageButton1.x"=>0,"MyImageButton1.y"=>0);
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,"http://post.globrand.com/member/signin.html");
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie_file);
curl_setopt($curl,CURLOPT_PROXY,'127.0.0.1:8888');
$contents=curl_exec($curl);
curl_close($curl);
var_dump($contents);die;
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$post_url);
curl_setopt($curl,CURLOPT_HTTPHEADER,$headers_login);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_TIMEOUT,30);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie_files);
curl_setopt($curl,CURLOPT_COOKIEFILE,$cookie_file);
curl_setopt($curl,CURLOPT_PROXY,'127.0.0.1:8888');
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
$result=curl_exec($curl);
curl_close($curl);
var_dump($result);die;
$add_url="http://post.globrand.com/ajaxpro/MemberAjax,App_Code.ashx";
$add["Infor"] =array("阿斯達(dá)",'
速度
$add_json=json_encode($add,JSON_UNESCAPED_UNICODE);
$headers=array();
$headers[] ='AjaxPro-Method: AddWare';
$headers[] ='Accept-Encoding: gzip, deflate';
$headers[] ='Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3';
$headers[] ='Cache-Control: no-cache';
$headers[] ='Content-Type: application/x-www-form-urlencoded; charset=utf-8';
$headers[] ='User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:28.0) Gecko/20100101 Firefox/28.0';
$headers[] ='Connection: keep-alive';
//curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//模擬post提交數(shù)據(jù)進(jìn)行登錄
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$add_url);
curl_setopt($curl,CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_TIMEOUT,30);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie_file);
curl_setopt($curl,CURLOPT_COOKIEFILE,$cookie_files);
curl_setopt($curl,CURLOPT_PROXY,'127.0.0.1:8888');
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$add_json);
$result=curl_exec($curl);
$error=curl_error($curl);
curl_close($curl);
var_dump($error);