類比post失敗 為什嗎?
本帖最後由 h420943302 於 2012-12-11 11:18:30 編輯
$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,//要傳送的所有資料,如果要傳送一個檔案,[email protected]
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";