>  기사  >  백엔드 개발  >  Curl, 쿠키 및 SSL을 사용하여 Barnes & Noble의 모바일 웹사이트에 로그인하는 방법은 무엇입니까?

Curl, 쿠키 및 SSL을 사용하여 Barnes & Noble의 모바일 웹사이트에 로그인하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-10 03:32:03240검색

How to Log into Barnes & Noble's Mobile Website Using Curl, Cookies, and SSL?

Curl을 사용하여 SSL, 쿠키 및 POST로 로그인

백그라운드

이 문의는 Curl을 사용하여 Barnes & Noble의 모바일 웹사이트에 로그인하는 데 중점을 둡니다. SSL 사용으로 인해 어려움을 겪으면서 쿠키.

해결책

문제를 해결하려면 다음 조정을 고려하십시오.

  1. URL 인코딩: URL 매개변수를 인코딩합니다(예: 이메일 및 비밀번호)를 POST 요청에 추가하세요.
  2. X 값 포함: 로그인 URL에 x 값을 포함합니다(초기 페이지에서 추출됨).

작업 예제

다음 코드는 이러한 조정 사항을 작업 예제에 통합합니다.

// Constants
$EMAIL = '[email protected]';
$PASSWORD = 'yourpassword';
$COOKIE_FILE = "/tmp/cookies.txt";
$LOGIN_URL = "https://cart2.barnesandnoble.com/mobileacct/op.asp?stage=signIn";
$AGENT = "Nokia-Communicator-WWW-Browser/2.0 (Geos 3.0 Nokia-9000i)";

// Curl Initialization
$ch = curl_init();

// Basic Headers
$headers = ["Accept: */*", "Connection: Keep-Alive"];

// Curl Options
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERAGENT, $AGENT);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $COOKIE_FILE);
curl_setopt($ch, CURLOPT_COOKIEJAR, $COOKIE_FILE);

// Step 1: Initialize with Login URL
curl_setopt($ch, CURLOPT_URL, $LOGIN_URL);
curl_exec($ch);

// Step 2: Extract Form Fields
$content = curl_getinfo($ch);
$fields = getFormFields($content);

// Populate Form Fields
$fields['emailAddress'] = $EMAIL;
$fields['acctPassword'] = $PASSWORD;

// Extract X Value
$loginUrl = "https://cart2.barnesandnoble.com/mobileacct/op.asp?x={$x}";

// Construct POST Fields
$postFields = http_build_query($fields);

// Update Login URL and POST Options
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);

// Perform Login and Retrieve Result
$result = curl_exec($ch);
print $result;

외부 리소스

Curl 사용에 대한 추가 지원이 필요한 경우 다음 추가 정보를 고려하세요. 리소스:

  • [curl을 사용하여 Android 마켓 mylibrary 검색](https://stackoverflow.com/questions/4940264/retrieve-android-market-mylibrary-with-curl)
  • [여러 작업 컬](https://stackoverflow.com/questions/6032527/multiple-actions-with-curl)
  • [curl을 통해 xml 및 헤더 보내기](https://stackoverflow.com/questions/2149671/ Sending-xml-and-headers-via-curl)
  • [PHP 및 Curl로 Google에 로그인, 쿠키 사용 꺼져 있습니까?](https://stackoverflow.com/questions/1794383/login-to-google-with-php-and-curl-cookie-turned-off)
  • [Pinterest는 PHP 및 cURL을 사용하여 로그인하지 않음 작업 중](https://stackoverflow.com/questions/13597892/pinterest-login-with-php-and-curl-not-working)

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.