gpt4 book ai didi

javascript - 这个 Javascript 请求和 Python 请求有什么区别?

转载 作者:行者123 更新时间:2023-11-30 14:46:42 24 4
gpt4 key购买 nike

我用 Python 写了一些东西,并试图弄清楚为什么 JS 中看似等效的代码不起作用。

工作 Python -

使用的标题:

    self.session = requests.Session()
#Set headers
self.headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Connection': 'keep-alive',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'en-US,en;q=0.8',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
}

代码:

link = 'https://www.kith.com/cart'
data = [
('updates'+'['+'888074764295'+']', '1'),
('updates'+'['+'888463982599'+']', '0'),
]
click = self.session.post(link, headers= self.headers, data=data, verify = False)

JS 不工作 -

      const secondaryVar = `updates[888463982599]`;
const desiredVariant = `updates[888074764295]`;

const checkoutForm = {};

checkoutForm[desiredVariant] = '1';
checkoutForm[secondaryVar] = '0';

//Post request to cart to update it with desired product
request({
url: 'https://www.kith.com/cart',
followAllRedirects: true,
method: 'post',
formData: checkoutForm,
headers : {
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Encoding':'gzip, deflate, br',
'Accept-Language':'en-US,en;q=0.9',
'Cache-Control':'max-age=0',
'Connection':'keep-alive',
'Upgrade-Insecure-Requests':'1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
},


},

function(err, res, body) {

我已将范围缩小到这段代码,但据我所知,Python 代码和 JS 代码之间没有显着差异。我的猜测是它与 session 或 header 有关...但我还是不知道。

感谢您的回复

最佳答案

我认为 Python 可能不尊重 cors ,这将解释差异。我不知道您使用的是什么 JavaScript 框架,但是使用 jQuery,从 kith.com 网站执行此代码时,以下内容有效。

为了避免 CORS 出现任何问题,我删除了浏览器自动设置的 header ,并将 url 从 www.kith.com 更改为 kith.com.

jQuery.ajax("https://kith.com/cart", settings={method:"post", headers : {
'Accept':'application/json',
'Accept-Language':'en-US,en;q=0.9',
'Cache-Control':'max-age=0',
'Upgrade-Insecure-Requests':'1',
}, data:{"desiredVariant":1,"secondaryVar":0}}).error(function(err){console.log("error"+ err)}).success(function(res){console.log(res)})

关于javascript - 这个 Javascript 请求和 Python 请求有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48799866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com