Curl을 사용하여 SSL 및 쿠키를 사용하여 웹사이트에 로그인하는 방법은 무엇입니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel Back End : Part 2, React가있는 React 앱 구축

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법
