Wie verwende ich Curl-Cookies? Anfänger haben Kopfschmerzen. Es gibt zu viele Parameter in Curl, von denen der Cookie-Teil vier umfasst.
Natürlich steht im Handbuch klar, dass Curl 3 Cookies hat, aber es gibt auch einen Header-Parameter, der Cookies enthalten kann
Curl ist sehr einfach zu verwenden. Das Wichtigste ist, mit der Verwendung von curl_setopt vertraut zu sein.
curl_setopt ($ch, CURLOPT_COOKIE, $cookie);
Die Cookie-Werte sollten hier durch; statt & getrennt werden. Es besteht keine Notwendigkeit, die URL-Code-Codierung zu verwenden. Natürlich wäre eine Codierung besser.
$cookie = "a=b;c=d;name=Fang Shiyu";
Beachten Sie, dass es bei Verwendung nicht in curl_setopt ($ch, CURLOPT_HTTPHEADER , $header) verwendet werden kann );
s $header enthält Cookie-Parameter, andernfalls überlappen sie sich und verursachen unvorhersehbares Cookie-Verhalten.
<? 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;
Anbei finden Sie den Code, der zur Analyse von Cookies im IE verwendet wird
<? php function 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; }