専門家に来てください。curl のシミュレートされたログインの問題
シミュレートされたログインを実行したいのですが、通常、Web サイトはフォームの送信があれば正常にログインをシミュレートできます
AliExpress (https://login.aliexpress.com/) などの他のウェブサイト
私のコードはここに書かれています
関数 vlogin($url,$request){
$cookie_jar = tempnam('./tmp','cookie');//現在のディレクトリにランダムなファイル名で一時ファイルを生成します
$ch =curl_init() //curl モジュールを初期化します
curl_setopt($ch,CURLOPT_URL,$url);//ログインページアドレス
curl_setopt($ch, CURLOPT_POST, 1);//ポスト経由で送信
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);//送信するコンテンツ
// $cookie_jar に返された Cookie 情報を $cookie_jar ファイルに保存します
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
//返されたデータを自動的に表示するかどうかを設定します
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//ヘッダー情報を表示するかどうかを設定
curl_setopt($ch, CURLOPT_HEADER, false);
//ページコンテンツを出力するかどうかを設定
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_exec ($ch)
curl_close($ch); //ログイン後にデータを取得します
return $cookie_jar;
}
//ログイン成功後に Cookie を通じてページ コンテンツを取得します
関数 get_content_by_cookie($url,$cookie_jar){
$ch2 =curl_init();
curl_setopt($ch2, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_HEADER, false);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_jar);
$orders=curl_exec($ch2);
curl_close($ch2)
return $orders;
}
function clear_cookie($cookie_tmp_name){
@unlink($cookie_tmp_name);
}
$list_url='http://cn.ae.alibaba.com/index.htm';
$login_url='https://login.aliexpress.com/';
$post_data='pd=aliexpress&xloginPassport=******&xloginPassword=******';
$cookie_file=vlogin($login_url,$post_data);
$tmp_curl=get_content_by_cookie($list_url,$cookie_file);
echo $cookie_file;
echo $tmp_curl;
//clear_cookie($cookie_file);
?>
しかし、ログインに失敗しました。$login_url が間違っていると思います。AliExpress でフォームが送信されていないため、コードが理解できません。アドバイスをお願いします。
ありがとう!
-----解決策--------------------------------