curl的cookie怎么使用?新手都很頭疼的,curl的參數太多了,其中cookie部分就涉及了4個。
當然了,手冊上明白寫的curl的cookie是3個,但是嘛,不是還有個header的參數嘛,里面可以包含cookie.
curl非常的好用。最主要的是要熟悉curl_setopt的用法。
curl_setopt ($ch, CURLOPT_COOKIE , $cookie );
這里的cookie值要用;分開的,而不是用&。也不需要用urlencode編碼,當然了,編碼了就更好。
$cookie = "a=b;c=d;name=方世玉";
注意使用這個的時候,不可在 curl_setopt ($ch, CURLOPT_HTTPHEADER , $header );
的$header里包含Cookie參數,否則會重疊,造成cookie不可預見的情況發生。
<? php$url = "http://www.test.com/zzzz.php";$post_data = array ( "foo" =< "bar", "query" =< "Nettuts", "action" =< "Submit");$cookie_jar_index = 'f:/js/test/cookie.txt';$cookie = "a=b;c=d;name=方世玉";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// 我們在POST數據哦!curl_setopt($ch, CURLOPT_POST, 1);// 把post的變量加上curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);curl_setopt($ch, CURLOPT_COOKIE, $cookie);$output = curl_exec($ch);curl_close($ch);echo $output;
附上用來分析IE中cookie的代碼
<? phpfunction join_cookie($cook){ foreach( $cook as $k=<$v ) { $d[] =$k."=".$v; }$data = implode(";",$d);return $data;}function pase_cookie($cookFile,$encode=true){$cookie = file_get_contents ( $cookFile );$citem = explode("*/n",$cookie);foreach( $citem as $c ){list($ckey,$cvalue) = explode("/n",$c);if($ckey!='')$cook[$ckey] = $cvalue;}return $cook;}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答
圖片精選