首頁  >  文章  >  後端開發  >  如何使用 Curl、Cookie 和 SSL 登入 Barnes & Noble 的行動網站?

如何使用 Curl、Cookie 和 SSL 登入 Barnes & Noble 的行動網站?

Barbara Streisand
Barbara Streisand原創
2024-11-10 03:32:03212瀏覽

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

使用Curl 透過SSL、Cookies 和POST 登入

背景

此查詢重點在於使用Curl 登入Barnes & Noble 的行動網站,由於使用SSL 和cookie 而遇到困難。

解決方案

要解決該問題,請考慮以下調整:

  1. URL 編碼: 對POST 請求中的URL 參數(例如電子郵件和密碼)進行編碼。
  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 Market mylibrary](https://stackoverflow.com/questions/4940264/retrieve-android-market-mylibrary-with-curl )
  • [使用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,Cookie 關閉? ](https://stackoverflow. com/questions/1794383/login-to-google-with-php-and-curl-cookie-turned-off)
  • [使用PHP 和cURL 登入Pinterest 不起作用](https://stackoverflow.com /questions/13597892/pinterest-login-with-php-and-curl-not-working)

以上是如何使用 Curl、Cookie 和 SSL 登入 Barnes & Noble 的行動網站?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn