无法使用 Curl 将查询复制到 Amazon Manage Kindle。我缺少什么?

2023-12-05

由于亚马逊“管理你的 Kindle”的网络界面极其缓慢,我试图弄清楚如何构建一个应用程序来连接到为管理页面提供信息的未记录服务。我现在已经确定了要使用哪些 URL 和参数来检索执行 CRUD 操作所需的 JSON 数据,但我无法成功地使用 CURL 向任何服务发送数据。

身份验证似乎存在问题,但我正在发送我能找到的所有相关标头和 cookie。还是得到一个

HTTP/1.1 302 MovedTemporarily
Location: https://www.amazon.com/ap/signin?_encoding=UTF8&accountStatusPolicy=P1&openid.assoc_handle=usflex&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.max_auth_age=900&openid.return_to=https%3A%2F%2Fwww.amazon.com%2Fgp%2Fdigital%2Ffiona%2Fmanage%2Ffeatures%2Forder-history%2Fajax%2FqueryPdocs.html%3Fie%3DUTF8%26contentType%3DPersonal%2520Documents%26count%3D15%26offset%3D0 

发送此请求后,应该列出所有个人文件。这些 cookie 是使用 Chrome 的 Web 开发人员工具复制的。

> POST /gp/digital/fiona/manage/features/order-history/ajax/queryPdocs.html HTTP/1.1
> User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
> Host: www.amazon.com
> Accept: */*
> Cookie: session-token=8tAmbclc1/ZjtWU8o5VXyU5H8s0/Yiy346W1/Nx4Sz2BzTUWUR9lkwDABzzgRW1lwZUqcu8MqhGzbby2Xg9RA8Y0cwpLRDk5sf6eXUwNQBvZAcgEXsHG8Bj+24q2C1MZ9v5hFrzBNr6pDP+9CYXrMl2WaEVzmvd/sBO69jk5o3mK3PJf1leY6YhLAL3W8dVj89O+ebIoaPvLHP7naDpImbqaa5bwGS4ki+AzJDLAHs5UMwQkiuXoUCnukz1+WqCr0rHhKoPkI17WGm6MrRDs9/PC2ll7+qDU13; session-id=184-5755217-1234567; session-id-time=2082787201l
> Content-Length: 48
> Content-Type: application/x-www-form-urlencoded

(是的,我在在线发布此内容之前更改了我的会话令牌和会话 ID :p )

我在 CLI 上使用以下调用并将 cookie 存储在 cookie3.txt 中

curl -v --cookie cookie3.txt  --data 'offset=0&count=15&contentType=Personal+Documents' 'https://www.amazon.com/gp/digital/fiona/manage/features/order-history/ajax/queryPdocs.html' 

知道我在这里缺少什么才能使其正常工作吗?


看来亚马逊在实施方面做得最好通过默默无闻实现安全;如果您的用户代理不是可识别的浏览器,例如 Firefox、Chrome 或 IE,您将被拒绝访问。为了通过用户代理获取请求,需要伪造用户代理。

我最终放弃了 cURL,转而使用 Python 和 Requests 库。进入 FIONA 所需的所有步骤可以在GitHub 上的代码.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 Curl 将查询复制到 Amazon Manage Kindle。我缺少什么? 的相关文章

随机推荐

  • PostSharp 参数验证 - 使用 RegularExpressionAttribute 查找前导/尾随空格

    我正在使用 PostSharp 3 1 通过验证属性来验证属性的参数 我想用正则表达式属性执行验证 它接受表示正则表达式的字符串 如果字符串有任何前导或尾随空格 但字符串可能在单词之间包含空格 我想抛出异常 在使用 PostSharp 属性
  • 反序列化 JSON 子文档

    我正在调用 JIRA Rest API 来接收工作日志对象列表 我收到的 JSON 看起来像 startAt 0 maxResults 1 total 1 worklogs self http www example com jira re
  • 有没有办法使用 LINQ 表达式填充集合?

    LINQ 的优点之一是允许您获取与集合相关的信息 而无需手动编写代码来迭代集合 有没有办法使用 LINQ 填充集合 从而避免编写循环 例如 假设我有以下代码 它适用于从 1 到 10 的数字范围 public static void Lin
  • 在 WPF 应用程序中使用 .NET Standard 程序集中的内容文件

    我想将文件嵌入到 NET Standard 程序集中 并在 WPF 应用程序的 XAML 中使用它 如果您将构建操作设置为Resource在其他程序集中使用嵌入文件非常容易 但是您必须使用
  • 在 Angular (v5) 中,如何监听我的应用程序 Redux 状态对象的变化?

    我需要知道如何创建一个监听器 例如我想订阅 AppState 更改 以下是我目前非常基本的服务 我在视图上有一个调度操作 它会增加计数器 一旦计数器改变值 我想在我网站的其他部分检测到这一点 例如例如全局标头 我正在使用 ng2 Redux
  • 将光标设置到 CKEditor 中的特定位置

    有没有办法将光标位置设置为 CKEditor 内的已知索引 我想这样做是因为当我更改编辑器内的 html 时 它会将光标重置到插入元素的开头 这是一个问题 因为我在用户键入时动态更改内容 如果我知道我想将光标设置回编辑器内的已知字符位置 例
  • 尝试获取本周星期一的日期

    我已经实现了一种方法来获取本周星期一的日期 并且我已将星期一指定为本周的第一天 但是 无论我做什么 它都会返回 Sun Mar 24 15 03 07 GMT 2013 我看不出这里有什么问题 有人可以帮忙吗 public static D
  • 使用自定义顺序和包含逗号的值编写 Excel VBA 排序代码

    在 VBA 中 Excel 允许使用 CustomOrder 参数对值进行排序 以选择排序的序列项 不幸的是 项目序列是用逗号分隔的 并且我的排序项目之一包含逗号 例如 我想按第二列中的类别对第一列中的数据进行排序 空中 陆地或海上 类别包
  • Android - 将 URI 转换为棒棒糖上的文件路径

    我目前正在尝试制作一个音频媒体播放器 我目前正在运行棒棒糖 我在设置媒体播放器的数据源时遇到问题 首先 这是我设置数据源的方法 public void playSong player reset Song selSong songs get
  • 绘制调用在 Three.js 中如何工作?

    我有许多可能很长的折线 或很短 顶点数非常不稳定 要显示 所以我正在考虑将它们包装在一堆固定大小 假设有 10000 个顶点 的位置BufferAttribute并发送一份drawcall每条折线 如果多段线跨越 10000 限制边界 我可
  • 使用 Amazon Dynamodb 进行不区分大小写的查询

    在 DynamoDB 中 字符串值区分大小写 在我的应用程序中 用户可以在数据库中搜索配置文件名称 但是 如果他们搜索 alan 则搜索结果中不会返回 Alan 如何允许用户指定不区分大小写的搜索以检索良好的结果 仅供参考 我将 Dynam
  • 如何在 Ruby 中捕获终端箭头键?

    如何捕获终端中的箭头键 而用户不必在箭头键后按 Enter 键 查看 Ruby 控制台库红宝石特米奥斯 and ncurses 红宝石
  • 使用 C# 登录 Azure AD。获取刷新令牌和访问令牌

    Task 我需要创建一个 WPF 应用程序 它将与 EWS Exchange Web 服务 一起使用 我也有两个限制 登录只能进行一次 应该使用刷新令牌重新连接 它应该支持 2FA 我的解决方案部分 我使用 OAuth 连接到 Azure
  • 如何将 HSM 中存储的私钥转换为 C# 中的 SignedXml.SigningKey

    我正在尝试使用存储在 HSM 中的证书来实现一些 XML 签名演示 我从此链接中找到了一些有趣的示例 使用 X509Certificate2 签署 XML 文档并将其修改为使用带有 PKCS11Interop 包装器的 HSM 内的证书和密
  • MKMapRect 缩放太多

    我使用此代码在地图上显示所有注释 MKMapRect zoomRect MKMapRectNull for id
  • R编程中,关于逆矩阵及其乘法

    这是我在 R初学者指南 练习中的解决过程 gt Q 1 2 3 1 1 2 3 2 4 2 1 3 2 3 0 gt solve Q 1 2 3 1 0 12 0 36 0 16 2 0 08 0 24 0 44 3 0 32 0 04 0
  • 选择:jQuery 插件...在 asp.net 回发后不起作用

    我在用http harvesthq github io chosen 控制在drop down list 一切都很顺利 但我面临着一个问题 比如我是否设置下拉列表的属性 即AutoPostBack true 选择一项后控件将失去其属性并转换
  • EF Core 5 包含多个列

    我有两个模型 看起来像这样 public class Filter public string Key get set public Guid ProgramId get set public class MyEntity public s
  • Hibernate 可以使用 MySQL 的“ON DUPLICATE KEY UPDATE”语法吗?

    MySQL 支持 INSERT ON DUPLICATE KEY UPDATE 语法允许您 盲目 插入数据库 并回退到更新现有记录 如果存在 当您想要快速事务隔离并且想要更新的值取决于数据库中已有的值时 这非常有用 作为一个人为的示例 假设
  • 无法使用 Curl 将查询复制到 Amazon Manage Kindle。我缺少什么?

    由于亚马逊 管理你的 Kindle 的网络界面极其缓慢 我试图弄清楚如何构建一个应用程序来连接到为管理页面提供信息的未记录服务 我现在已经确定了要使用哪些 URL 和参数来检索执行 CRUD 操作所需的 JSON 数据 但我无法成功地使用