ホームページ  >  記事  >  バックエンド開発  >  (マスター) PHP CURL 検証コードのシミュレートされたログインに関連する問題

(マスター) PHP CURL 検証コードのシミュレートされたログインに関連する問題

WBOY
WBOYオリジナル
2016-06-13 12:17:42825ブラウズ

(神に聞く) PHP カール検証コードのシミュレートされたログインの問題

<br />function curlLogin($login_url, $cookieFile_code, $cookieFile_login, $loginParams, $target_url)<br />	{<br />	    $ch = curl_init($login_url);<br />	    curl_setopt($ch,CURLOPT_COOKIEFILE, $cookieFile_code); //验证码session值上传<br />	    curl_setopt($ch,CURLOPT_COOKIEJAR, $cookieFile_login); //获取登录cookie<br />		curl_setopt($ch, CURLOPT_HEADER, 1);<br />	    curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);<br />	    curl_setopt($ch,CURLOPT_POST, 1);<br />	    curl_setopt($ch,CURLOPT_POSTFIELDS, $loginParams); //提交查询信息<br />	    curl_exec($ch);<br />	    curl_close($ch);<br />	    $ch = curl_init($target_url);<br />	    curl_setopt($ch,CURLOPT_COOKIEFILE, $cookieFile_login);<br />	    curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);<br />	    $content = curl_exec($ch);<br />	    if(curl_errno($ch)){<br />	    	return curl_error($ch);<br />	    }<br />	    curl_close($ch);<br />	    return $content;<br />	}<br />

検証コードを使用して Web サイトへのログインをシミュレートしようとしています。検証コードを手動で認識し、シミュレートした後、セッションをローカルに保存します。値 cookie と手動で識別された確認コードを使用してログインします。ログイン状態を維持するために cookie を取得したいのですが、取得するのは確認コード cookie で、次の 2 行のコードを使用します。それを変更する方法を教えてください。毛織物?
<br />  curl_setopt($ch,CURLOPT_COOKIEFILE, $cookieFile_code); //验证码session值上传<br />  curl_setopt($ch,CURLOPT_COOKIEJAR, $cookieFile_login); //获取保持登录的cookie<br />

-----ソリューションアイデア----------------------
2 つのステップに分かれています。最初に確認コード用の Cookie を取得し、
を送信して、ログイン後に Cookie を取得します。
------解決策のアイデア----------------------
段階的に実行しますか? (関数を与えるだけでは何も説明できません)
1. フォームページにアクセスします (セッション ID がここにある可能性があります)
2. 認証コードの画像を識別フォームに読み取ります
3.送信された検証コード データ
4. 包括的なデータをフォーム ターゲット ページに送信します

3 を除き、各ステップには
curl_setopt($ch,CURLOPT_COOKIEFILE, $cookieFile_code);
curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookieFile_login);

明らかに、これらのタスクは 1 つの関数で完了することはできません
うまく書けば、使用できる関数は 1 つだけですが、複数回呼び出す必要があります

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。