首页 > 后端开发 > php教程 > 为什么使用 SSL 和 cookies 时我的 Curl 登录 Barnesandnoble.com 失败?

为什么使用 SSL 和 cookies 时我的 Curl 登录 Barnesandnoble.com 失败?

Mary-Kate Olsen
发布: 2024-11-15 12:35:02
原创
273 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板