cURL でのリクエストに問題があります。
ログインしたいのですが、うまくいきます。接続を利用できるようにするために Cookie を保存したいのですが、うまくいきます。
$lien = 'https://thewebsite.com';
$postfields = array(
'username' => 'test123',
'password' => 'test123'
);
$path_cookie = 'connexion.txt';
if (!file_exists(realpath($path_cookie))) touch($path_cookie);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $lien);
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($curl, CURLOPT_COOKIEJAR, realpath($path_cookie));
$return = curl_exec($curl);
echo($return);
curl_close($curl);
後半:
$lien2 = 'https://thewebsite.com/myaccount';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $lien2);
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($curl, CURLOPT_COOKIEFILE, realpath($path_cookie));
$return = curl_exec($curl);
echo realpath($path_cookie);
curl_close($curl);
しかし、他のリクエストをしたいときはうまくいきません。出力は次のとおりです。
オブジェクトはここに移動しました。
ログインのページはこちら( https://thewebsite.com ) ...
そのため、接続が利用できず、2 番目の curl コマンドを実行しようとするとサーバーが追い出されました。
誰でも私を助けてくれますか?
最初のリクエストが 2 番目のリクエストの前に完了していない可能性があります。2 つのリクエストの間で一時停止するにはどうすればよいですか? (睡眠がうまくいかない)