ホームページ  >  記事  >  バックエンド開発  >  初心者がPHPで模擬ログインを行い、Webページのコードに従って入力するのですが、結果が表示されません。

初心者がPHPで模擬ログインを行い、Webページのコードに従って入力するのですが、結果が表示されません。

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

初心者が PHP で模擬ログインを実行する Web ページのコードに従って入力しても結果が表示されない
これは、Web ページのプロンプトに従って PHP で模擬ログインするためのコードに従って変更され、シミュレートされるログイン コードです。オープンソースチャイナにログインします。
function login_post($url, $cookie, $post) {
$curl =curl_init();//curl モジュールを初期化します
curl_setopt($curl, CURLOPT_URL, $url );//ログイン送信アドレス
curl_setopt($curl, CURLOPT_HEADER, 0);//ヘッダー情報を表示するかどうか
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);//返された情報を自動的に表示するかどうか
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie); //Cookie 情報を設定し、指定したファイルに保存します
curl_setopt($curl, CURLOPT_POST, 1) //投稿モードで送信します
curl_setopt($) curl, CURLOPT_POSTFIELDS , http_build_query($post));//送信する情報
curl_exec($curl);//cURL を実行
curl_close($curl);//cURL リソースを閉じ、システム リソースを解放
}

//ログイン成功後にデータを取得
function get_content($url, $cookie) {
$ch =curl_init()
curl_setopt($ch, CURLOPT_URL, $url) );
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); // クッキーを読み取りますrs =curl_exec($ch); //cURL を実行してページのコンテンツをキャプチャします
curl_close($ch);
return $rs>}

$post = array ( ' email' => [email protected]'、
'pwd' => '/my'、
'error_page' => login ',
'save_login' => '1',
'submit' => '今すぐログイン'

//ログインアドレス
$url = " http://m.oschina.net/login";
//Cookie の保存パスを設定します
$cookie = dirname(__FILE__) . '/cookie_oschina.txt';ログインアドレス
$url2 = "http://m.oschina.net/my";
//模擬ログイン
login_post($url, $cookie, $post);ログインページ情報の取得
$content = get_content($url2, $cookie);
//Cookie ファイルを削除
@ unlink($cookie)
// 一致するページ情報
$preg = "/

(.*)/i";
preg_match_all($preg, $content, $arr);
$str = $arr[ 1][0]; ローカルで実行するとエラーが発生しました。 。


Baidu は 50 行目のエラーを確認し、修正しました。
ただし、$str=$arr[1];
エラー メッセージを表示します。配列から文字列への変換
エラーメッセージに従って var_dump($arr) に変更します。
アクセス後に表示されます:
array(2) { [0]=> array(0) { } [1]=> { } }。

模擬ログインを実現したいので神様に助けを求めてください|!

------解決策のアイデア----------------------

わざわざ理解する必要はありませんhttp リクエスト。ログインをシミュレートするためにオンラインでカールを直接見つけますか?

パケットをキャプチャして確認してみてはいかがですか?

クリア テキスト パスワードを使用して直接ログインしますか?

OSC は sha1 暗号化通信アカウントパスワードログインを使用


-----ソリューションアイデア----------- -------- --

あなたのために書きました。私の表現を無駄にします




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