0

次のコードを使用して Web サイトにログインしようとしました。ポップアップメッセージがあります

「このページは暗号化されていますが、入力した情報は暗号化されていない接続を介して送信されるため、第三者に簡単に読み取られる可能性があります。この情報を送信し続けますか?」

アクセスを許可する前に、[続行] ボタンをクリックする必要があります。

コードが機能しません。メッセージと関係があるのか​​ 、それとも他に何が間違っていたのかわかりません。

$url = "https://anothersite.com/login.php";
$agent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/A.B (KHTML, like Gecko) Chrome/X.Y.Z.W Safari/A.B.";
$username = "xxxx";
$password = "1234";
$postfields = "username=".$username."&password=".$password;
$cookie_file_path = getcwd().'/cookie.txt';

$ch = curl_init();

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSLVERSION, 3); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_POST, 1);

echo curl_exec($ch);

curl_close($ch);
4

1 に答える 1

1

正規の CA が発行した証明書を使用していないようです。

以下を false に設定してみてください。それはうまくいくはずです。

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
于 2012-12-19T01:56:20.147 に答える