SSL と Cookie を使用して Curl でログインする方法
問題:
ログインCurl を使用する Web サイト、特に barnesandnoble.com は成功しません。ページはエラーなしで返されますが、電子メール フィールドには最初に入力した電子メールが入力されます。ログイン URL を HTTPS 以外の Web サイト (eBay など) に変更すると、ログインに成功します。
原因:
考えられる原因:
解決策:
次のコードはこれらの問題に対処し、Curl、SSL、Cookie を使用してログインが成功する例を示します。
</p> <p>//...<br>// 簡潔にするために以前のcurlオプションは省略<br>//...</p> <p>// フォームフィールドを取得<br>$fields = getFormFields($content);</p> <p>// メールアドレスとパスワードを設定します<br>$fields['emailAddress'] = $EMAIL;<br>$fields['acctPassword'] = $PASSWORD; </p> <p>// x 値を取得します<br>if (preg_match('/op.asp?x=(d )/i', $content, $match)) {</p> <p> }</p> <p>// x の値でログイン URL を設定します<br>$LOGINURL = "https://cart2.barnesandnoble.com/mobileacct/op.asp?x=$x";</p> <p> // POST フィールドを設定します<br>$POSTFIELDS = http_build_query($fields);</p> <p>// URL をログイン URL に変更します<br>curl_setopt($ch, CURLOPT_URL, $LOGINURL);</p> <p> // 投稿オプションを設定します<br>curl_setopt($ch, CURLOPT_POST, 1);<br>curl_setopt($ch, CURLOPT_POSTFIELDS, $POSTFIELDS);</p> <p>// ログインを実行します<br>$result =curl_exec( $ch); </p> <p>print $result;</p> <p>//...<br>
説明:
を実装することによりこれらの変更により、HTTPS の使用や Cookie 処理の潜在的な違いにもかかわらず、Curl は正常にログインできます。
以上がCurl を使用して SSL と Cookie を使用して Web サイトにログインするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。