ホームページ  >  記事  >  バックエンド開発  >  PHP は市場ログインをシミュレートし、検証コードが必要になる問題

PHP は市場ログインをシミュレートし、検証コードが必要になる問題

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

PHP を使用してマーケットに行って家を公開するシミュレーションを行った後、しばらくログインできなくなります。対処方法を見てみましょう。経験豊富な友人に聞いてください。アドバイスありがとうございます!

           $url = "https://passport.ganji.com/login.php";        $data ="login_username=wangsheng6666666666&login_password=".trim(decode('bGlqaWF3YW5nc2hlbmcyMDEz'));       //  $imageurl= 'https://passport.ganji.com/ajax.php?dir=captcha&module=login_captcha&nocache=1445313015271';         $redata= $publish->vlogin($url,$data,$url,true);              function vlogin($url,$data,$REFERER =null,$ishttps=true){ //        $curl = curl_init(); // 启动一个CURL会话        curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址        curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器        if(empty($REFERER))        {            curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer        }else{            curl_setopt($curl, CURLOPT_REFERER, $REFERER);// 设置Referer        }        if($ishttps)        {            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在        }        curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求        curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包       // curl_setopt($curl, CURLOPT_COOKIEFILE, $this->cookie_file); // 读取上面所储存的Cookie信息       // curl_setopt($curl, CURLOPT_COOKIEJAR, $this->cookie_file); // 存放Cookie信息的文件名称        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回        curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环        curl_setopt($curl, CURLOPT_HEADER, 1);        $tmpInfo = curl_exec($curl); // 执行操作        if (curl_errno($curl)) {            echo 'Errno'.curl_error($curl);        }       // preg_match_all('/Set-Cookie:stest=(.*)/i', $tmpInfo, $tmpInfo);        curl_close($curl); // 关闭CURL会话        return $tmpInfo; // 返回数据    }

閲覧にご協力ください ありがとうございます


ディスカッション (解決策) への返信

あなたはリストを頻繁に投稿しすぎます。 ?

認証コード 処理できますか? ?マスターでは処理できないと推定されます

認証コードのポップアップ認識入力は大きなプロジェクトです
A++ に属すると推定されます 認識率は一般的に非常に悪いです

認証、唯一の方法は手動入力用に出力する、手動入力を表示する、検索する コーディングプラットフォームと接続する

認証コードを自動的に認識する方法はありませんが、認識できたとしても、最終的には直接入力することで解決しました。皆さん、ありがとうございます
phpcurl検証コードを取得するときは、Cookieを取得する必要があります。こうすることで、検証のために送信するときに同じCookieを使用できます

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