Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我在发送所有数据都正确的情况下仍得到错误代码500?_Javascript_Python_Ajax - Fatal编程技术网

Javascript 为什么我在发送所有数据都正确的情况下仍得到错误代码500?

Javascript 为什么我在发送所有数据都正确的情况下仍得到错误代码500?,javascript,python,ajax,Javascript,Python,Ajax,我正在创建一个python应用程序,它可以将amazon项目添加到购物车中。但是Amazon在响应请求时出现了一个内部服务器错误。我制作了与javascript扩展相同的应用程序,它证明了发送的数据是正确的。因此,我很想知道为什么尽管发送了所有正确的数据,服务器对这两个应用程序的响应却不同。出于明显的原因,我更改了以下代码中的Cookie。以下是两个代码: Javascript代码: data = 'dealId='+dealid+'&itemId='+asin+'&clie

我正在创建一个python应用程序,它可以将amazon项目添加到购物车中。但是Amazon在响应请求时出现了一个内部服务器错误。我制作了与javascript扩展相同的应用程序,它证明了发送的数据是正确的。因此,我很想知道为什么尽管发送了所有正确的数据,服务器对这两个应用程序的响应却不同。出于明显的原因,我更改了以下代码中的Cookie。以下是两个代码: Javascript代码:

  data = 'dealId='+dealid+'&itemId='+asin+'&clientId=goldbox_mobile_pc'
  resp = "";

  $.ajax({
    url: 'https://www.amazon.in/gp/deal/ajax/v2/claimDeal.html',
    type: 'post',
    data: data,
    beforeSend: function (x) {
            x.setRequestHeader("x-csrftoken", token);
    },
    success: function (data, textStatus, jQxhr) {
      console.log(data)
    },
    error: function (jqXhr, textStatus, errorThrown) {
        console.log(errorThrown);
    }
  });

请尝试
error
中的
console.log(jqXhr)
,查看是否有关于错误的有用信息错误不在javascript中,而是在python代码中哦。。。抱歉-误解了哪一个有效,哪一个无效。。。检查有效代码中的请求标题(此处有浏览器开发人员工具帮助)。。。肯定有浏览器发送的标题表明你的pythin代码不是。。。也许亚马逊需要
Host
Origin
Referer
(注意Referer的拼写错误)甚至
Accept
Accept Encoding
Accept Language

import requests
from requests.cookies import cookiejar_from_dict
#creating a session
session = requests.Session()
#getting the csrf token. function is not shown in this code but it exists
csrf=getCsrf()
#sending cookies for loggging in
session.cookies={"ubid-acbin":"261-47212800-4332916","x-acbin":"unH4
KUpytXNLkPMKJm0DvSdgqMm@Gc?JDIwN2SJ@wmBDeBirSx6mHDHnHcljzy7rJ"}
session.cookies = cookiejar_from_dict(session.cookies)
#setting headers
session.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.61 Safari/537.36',
"x-csrftoken": csrf
}
#sending request
m=session.post('https://www.amazon.in/gp/deal/ajax/v2/claimDeal.html', data='dealId=d9ca05bf&itemId=B086Z933SS&clientId=goldbox_mobile_pc')
print(m.content)