> 백엔드 개발 > PHP 튜토리얼 > Curl을 사용하여 SSL 및 쿠키를 사용하여 웹사이트에 로그인하는 방법은 무엇입니까?

Curl을 사용하여 SSL 및 쿠키를 사용하여 웹사이트에 로그인하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-10 01:46:03
원래의
389명이 탐색했습니다.

How to Log In to Websites with SSL and Cookies Using Curl?

SSL 및 쿠키를 사용하여 Curl에 로그인하는 방법

문제:

로그인 Curl을 사용하는 웹사이트, 특히 barnesandnoble.com은 성공하지 못합니다. 페이지는 오류 없이 반환되지만 이메일 필드는 처음 입력한 이메일로 채워집니다. 로그인 URL을 HTTPS가 아닌 웹사이트(예: eBay)로 변경하면 로그인에 성공할 수 있습니다.

원인:

잠재적인 원인은 다음과 같습니다:

  • ASP/ASPX 웹사이트와 Curl에서 사용하는 접근 방식 간의 쿠키 및 _state 처리 차이점
  • 게시 문자열의 이메일 및 비밀번호에 대한 urlencoded URL 매개변수 부족
  • "x의 잘못된 처리 로그인 URL의 " 값

해결책:

다음 코드는 이러한 문제를 해결하고 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 인쇄

//...

설명:

  • getFormFields(): 로그인 양식에서 숨겨진 입력을 추출합니다.
  • 이메일 및 비밀번호 설정: 적절한 이메일 및 비밀번호 값을 설정합니다.
  • x 값 가져오기: 올바른 로그인 URL에 사용하기 위해 로그인 URL에서 "x" 값을 검색합니다.
  • x 값으로 로그인 URL 설정: 획득한 "x" 값을 사용하여 올바른 로그인 URL.
  • POST 필드 설정: 양식 필드를 POST용 쿼리 문자열로 변환합니다.
  • URL을 다음으로 변경합니다. 로그인 URL 및 게시물 옵션 설정: 로그인 요청에 대한 Curl 핸들을 구성합니다.
  • 로그인 수행: 로그인 요청을 실행합니다.

구현하여 이러한 변경으로 인해 Curl은 HTTPS 사용 및 쿠키 처리의 잠재적인 차이에도 불구하고 성공적으로 로그인할 수 있습니다.

위 내용은 Curl을 사용하여 SSL 및 쿠키를 사용하여 웹사이트에 로그인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿