亚马逊有一个发送到Kindle的内容的管理页面。此页面使用一个无文档的HTTP发送请求,如下所示:
{
"csrfToken":"gEABCzVR2QsRk3F2QVkLcdKuQzYCPcpGkFNte0SAAAAAJAAAAAFkUgW5yYXcAAAAA",
"data":{"param":{"DeleteContent":{"asinDetails":{"3RSCWFGCUIZ3LD2EEROJUI6M5X63RAE2":{"category":"KindlePDoc"},"375SVWE22FINQY3FZNGIIDRBZISBGJTD":{"category":"KindlePDoc"},"4KMPV2CIWUACT4QHQPETLHCVTWEJIM4N":{"category":"KindlePDoc"}}}}}
}我为他们以前使用的API创建了一个包装库,但这次他们添加了CSRF令牌,使每个会话都是唯一的。这是一个节目的停止,我想知道我如何才能得到这些令牌。我在饼干里没找到。这是在Chrome扩展中使用的,所以像CORS这样的问题不是问题。
发布于 2017-05-11 16:57:25
实际上,在"XHR“和"Doc”选项卡中手动搜索每个请求的Response选项卡后,我能够发现这个令牌是在myx.html (主页)的内联脚本中设置的:
var csrfToken = "gPNABCIemSqEWBeXae3l1CqMPESRa4bXBq0W7rCIAAAAJAAAAAFkUlo1yYXcAAAAA";这意味着它是在window对象上设置的,使其对所有对象都可用。我猜这意味着Chrome扩展需要获取这个页面并手动解析html来检索这个令牌。伤感,但可行,虽然非常脆弱:
https://stackoverflow.com/questions/43921340
复制相似问题