首頁  >  文章  >  後端開發  >  為什麼使用 SSL 和 cookies 時我的 Curl 登入 Barnesandnoble.com 失敗?

為什麼使用 SSL 和 cookies 時我的 Curl 登入 Barnesandnoble.com 失敗?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-15 12:35:02200瀏覽

Why is my Curl login to Barnesandnoble.com failing with SSL and cookies?

使用帶有SSL 和Cookie 的Curl 對Barnesandnoble.com 登入進行故障排除

簡介

您在登入Barnesandnoble.com 的行動網站時遇到問題將Curl 與SSL 和cookie 結合使用。儘管有 eBay 的工作代碼,但在使用 HTTPS 的 Barnesandnoble.com 上登入失敗。

分析和解決方案

原始程式碼有兩個潛在問題:

  1. URLEncode 參數:POST 字串中的電子郵件和密碼應進行URL 編碼,以確保參數正確
  2. x 值:登入URL 可能需要一個x 參數,該參數是從初始HTML 回應中提取的。

下面修改後的程式碼解決了這些問題問題:

// ... Your previous code ...

// URLEncode POST parameters
$fields['emailAddress'] = urlencode($EMAIL);
$fields['acctPassword'] = urlencode($PASSWORD);

// Get x value from initial page
$x = '';
if (preg_match('/op\.asp\?x=(\d+)/i', $content, $match)) {
    $x = $match[1];
}

// Set login URL with x parameter
$LOGINURL = "https://cart2.barnesandnoble.com/mobileacct/op.asp?x=$x";

// ... Your previous code ...

此更新的程式碼成功登入 Barnesandnoble.com。取得 cookie 後,您可以使用相同的 COOKIEFILE 和 COOKIEJAR 選項建立後續的 Curl 對象,以保持登入狀態,而無需額外的驗證。

以上是為什麼使用 SSL 和 cookies 時我的 Curl 登入 Barnesandnoble.com 失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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