$ch = curl_init( $url ); |
$cookiefile = tempnam( "/tmp" , "cookies" ); // 创建一个用于存放cookie信息的临时文件,也是最关键的一个 |
curl_setopt( $ch ,CURLOPT_RETURNTRANSFER,true); // 返回结果存放在变量中,而不是默认的直接输出 |
curl_setopt( $ch ,CURLOPT_HEADER,true); |
curl_setopt( $ch ,CURLOPT_CONNECTTIMEOUT,120); |
curl_setopt( $ch ,CURLOPT_REFERER,REFFER_URL); |
$fields_post = array ( |
'username' => $user , |
'subButton' => 'Submit' , |
'password' => $user , |
'encoded' => 'true' |
); // 根据抓包得到的POST或Get字段,填充这些相应的数据 |
$headers_login = array ( |
'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0' , |
'Referer' => REFFER_URL |
); // 设置HTTP请求头信息 |
$fields_string = '' ; |
foreach ( $fields_post as $key => $value ){ |
$fields_string .= $key . '=' . $value . '&' ; |
} |
$fields_string = rtrim( $fields_string , '&' ); |
curl_setopt( $ch ,CURLOPT_COOKIESESSION,true); |
curl_setopt( $ch ,CURLOPT_COOKIEFILE, $cookiefile ); // 关闭连接时,将服务器端返回的cookie保存在以下文件中 |
curl_setopt( $ch ,CURLOPT_COOKIEJAR, $cookiefile ); |
curl_setopt( $ch ,CURLOPT_USERAGENT, $headers_login [ 'User-Agent' ]); |
curl_setopt( $ch ,CURLOPT_POST,1); // 以POST方式提交 |
curl_setopt( $ch ,CURLOPT_POSTFIELDS, $fields_string ); |
$result = curl_exec( $ch ); // 保存输出的页面到$result中 |