如何使用Curl登入有SSL和Cookie的網站?

Patricia Arquette
發布: 2024-11-10 01:46:03
原創
332 人瀏覽過

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

如何使用SSL 和Cookie 透過Curl 登入

問題:

問題:

使用登入🎜>問題:

原因:
  • 潛在原因包括:
  • ASP/ASPX 網站處理cookie 和_state 的差異以及所使用的方法Curl
貼文字串中缺少電子郵件和密碼的urlencoded URL參數

登入URL 中的「x」值處理不正確

解決方案:

以下程式碼解決了這些問題並示範了使用Curl、SSL、和Cookies:

登入後複製

//...
// 為簡潔起見,省略了先前的捲曲選項

//...


/ / 取得表單欄位
$fields = getFormFields($content);

//設定電子郵件和password
$fields['emailAddress'] = $EMAIL;

$fields['acctPassword'] = $PASSWORD;
$x = $match[1];
登入後複製

// 取得x 值

if (preg_match ('/op) .asp?x=(d )/i', $content, $match)) {


}


// 設定有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);

// 設定發布選項$ ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $POSTFIELDS);

// 執行登錄

$result = curl_exec($ch);


print $result;

//...

    說明:
  • getFormFields() :從表單中提取隱藏的輸入登入表單。
  • 設定電子郵件和密碼:設定適當的電子郵件和密碼值。
  • 取得 x 值:擷取「x」值來自登入 URL,以便在正確的登入 URL 中使用。
  • 使用 x 設定登入 URL value:使用取得到的「x」值建構正確的登入 URL。
  • 設定 POST 欄位:將表單欄位轉換為 POST 查詢字串。
  • 將 URL 變更為登入 URL 並設定發布選項:設定登入的 Curl 句柄請求。
執行登入

:執行登入要求。

透過實施這些更改,Curl 可以成功登錄,儘管使用 HTTPS 並存在潛在差異在 cookie 處理中。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板