ホームページ >バックエンド開発 >PHPチュートリアル >CURL によってキャプチャされた Web ページは相対パスを通じて他のページを参照します。Cookie の問題を解決するにはどうすればよいですか?
curl 相対パス Cookie
たとえば、curl を使用してページ A をクロールします。ページ A は相対パスを通じてページ B を参照します。ページ B には Set-Cookie ヘッダーがありますが、ページ A には Set-Cookie がありません。 2回/複数回フェッチ
実際、これはajax/検証コードなどのために行われます。
header("Content-type:text/html;charset=utf-8"); function request_by_curl($remote_server, $post_string) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $remote_server); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOBODY, false); curl_setopt($ch, CURLOPT_HEADER,true); curl_setopt($ch, CURLOPT_HTTPHEADER, array()); $data = curl_exec($ch); curl_close($ch); return $data; } //获取验证码 file_get_contents("http://jysx.scnu.edu.cn/VerifyImg.aspx"); $cookie = $http_response_header[6]; $code = substr($cookie,23,4); echo $code."<br>"; //post登录 $remote_server = "http://jysx.scnu.edu.cn/login.aspx"; $post_string = 'act=login&type=ajax&name=20102301025&pass=523523&verify='.$code; echo request_by_curl($remote_server,$post_string);
機能します! ! ! ! !
なぜこのウェブサイトはヘッダー情報に認証コードを記述するのですか? ?