微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Steam API 禁止交易报价 403

如何解决Steam API 禁止交易报价 403

我使用浏览器创建了交易报价,并将请求复制为 cURL。 我可以使用终端创建报价,但是如果我将请求复制为 fetch(或 Node.js fetch),那么我会给出 403 Forbidden。我想通过获取报价。

工作卷曲:

curl 'https://steamcommunity.com/tradeoffer/new/send' \
  -H 'Connection: keep-alive' \
  -H 'Pragma: no-cache' \
  -H 'Cache-Control: no-cache' \
  -H 'sec-ch-ua: " Not;A Brand";v="99","Google Chrome";v="91","Chromium";v="91"' \
  -H 'Accept: */*' \
  -H 'DNT: 1' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/91.0.4472.101 Safari/537.36' \
  -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
  -H 'Origin: https://steamcommunity.com' \
  -H 'sec-fetch-site: same-origin' \
  -H 'sec-fetch-mode: cors' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Referer: https://steamcommunity.com/tradeoffer/new/?partner=26757421&token=jEW9IPqe' \
  -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
  -H 'Cookie: sessionid=***; steamLoginSecure=***' \
  --data-raw 'sessionid=***&serverid=1&partner=76561197987023149&tradeoffermessage=&json_tradeoffer=%7B%22newversion%22%3Atrue%2C%22version%22%3A2%2C%22me%22%3A%7B%22assets%22%3A%5B%5D%2C%22currency%22%3A%5B%5D%2C%22ready%22%3Afalse%7D%2C%22them%22%3A%7B%22assets%22%3A%5B%7B%22appid%22%3A730%2C%22contextid%22%3A%222%22%2C%22amount%22%3A1%2C%22assetid%22%3A%2222221561976%22%7D%5D%2C%22currency%22%3A%5B%5D%2C%22ready%22%3Afalse%7D%7D&captcha=&Trade_offer_create_params=%7B%22Trade_offer_access_token%22%3A%22jEW9IPqe%22%7D' \
  --compressed

崩溃获取

fetch("https://steamcommunity.com/tradeoffer/new/send",{
  "headers": {
    "accept": "*/*","accept-language": "ru-RU,en;q=0.7","cache-control": "no-cache","content-type": "application/x-www-form-urlencoded; charset=UTF-8","pragma": "no-cache","sec-ch-ua": "\" Not;A Brand\";v=\"99\",\"Google Chrome\";v=\"91\",\"Chromium\";v=\"91\"","sec-ch-ua-mobile": "?0","sec-fetch-dest": "empty","sec-fetch-mode": "cors","sec-fetch-site": "same-origin","cookie": "sessionid=***; steamLoginSecure=***"
  },"referrer": "https://steamcommunity.com/tradeoffer/new/?partner=26757421&token=jEW9IPqe","referrerPolicy": "strict-origin-when-cross-origin","body": "sessionid=***&serverid=1&partner=76561197987023149&tradeoffermessage=&json_tradeoffer=%7B%22newversion%22%3Atrue%2C%22version%22%3A2%2C%22me%22%3A%7B%22assets%22%3A%5B%5D%2C%22currency%22%3A%5B%5D%2C%22ready%22%3Afalse%7D%2C%22them%22%3A%7B%22assets%22%3A%5B%7B%22appid%22%3A730%2C%22contextid%22%3A%222%22%2C%22amount%22%3A1%2C%22assetid%22%3A%2222684389625%22%7D%5D%2C%22currency%22%3A%5B%5D%2C%22ready%22%3Afalse%7D%7D&captcha=&Trade_offer_create_params=%7B%22Trade_offer_access_token%22%3A%22jEW9IPqe%22%7D","method": "POST","mode": "cors"
});

如果你在三个地方把***改成你的sessionid和steamLoginSecure,那么你就可以测试这些请求了。 (可以在这里找到:steam 网站、F12、应用程序、cookie)

解决方法

我明白发生了什么! Chrome 错误地复制了请求:需要标头 Referer(不是 Referrer)。 Сonverter 帮助了我 - https://curl.trillworks.com/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。