SSL 및 쿠키를 사용하여 Curl에 로그인하는 방법
문제:
로그인 Curl을 사용하는 웹사이트, 특히 barnesandnoble.com은 성공하지 못합니다. 페이지는 오류 없이 반환되지만 이메일 필드는 처음 입력한 이메일로 채워집니다. 로그인 URL을 HTTPS가 아닌 웹사이트(예: eBay)로 변경하면 로그인에 성공할 수 있습니다.
원인:
잠재적인 원인은 다음과 같습니다:
해결책:
다음 코드는 이러한 문제를 해결하고 Curl, SSL 및 쿠키를 사용하여 성공적인 로그인을 보여줍니다.
</p> <p>//...<br>// 간결성을 위해 이전 컬 옵션은 생략됨<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> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$x = $match[1];
}
// x 값으로 로그인 URL 설정
$LOGINURL = "https://cart2.barnesandnoble.com/mobileacct/op.asp?x=$x";
// POST 필드 설정
$POSTFIELDS = http_build_query($fields);
// URL을 로그인 URL로 변경
curl_setopt($ch, CURLOPT_URL, $LOGINURL);
// 게시 옵션 설정
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $POSTFIELDS);
// 로그인 수행
$result = cur_exec( $ch);
$result 인쇄
//...
설명:
구현하여 이러한 변경으로 인해 Curl은 HTTPS 사용 및 쿠키 처리의 잠재적인 차이에도 불구하고 성공적으로 로그인할 수 있습니다.
위 내용은 Curl을 사용하여 SSL 및 쿠키를 사용하여 웹사이트에 로그인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!