Ajax Python脚本得到202响应,而浏览器得到200 OK

Ajax Python脚本得到202响应,而浏览器得到200 OK,ajax,python-3.x,selenium,python-requests,Ajax,Python 3.x,Selenium,Python Requests,我正在尝试使结帐过程自动化。在其中一个阶段中,我必须让python脚本从一个没有API的现有第三方服务器获取运费 当前的问题是,当通过浏览器访问时,第三方服务器返回一个200 OK的响应,其中包含预期的信息,但当我尝试使用python复制请求时,服务器返回一个202,接受时主体为空,头中没有位置 解决方案已尝试但失败: 从浏览器中检查标题并模仿它们 检查随请求发送的cookies,并确保它们已在脚本中发送 检查了我正在使用的链接 其他信息: 首先使用Selenium软件包制作脚本,它工作完美,但

我正在尝试使结帐过程自动化。在其中一个阶段中,我必须让python脚本从一个没有API的现有第三方服务器获取运费

当前的问题是,当通过浏览器访问时,第三方服务器返回一个200 OK的响应,其中包含预期的信息,但当我尝试使用python复制请求时,服务器返回一个202,接受时主体为空,头中没有位置

解决方案已尝试但失败:

  • 从浏览器中检查标题并模仿它们
  • 检查随请求发送的cookies,并确保它们已在脚本中发送
  • 检查了我正在使用的链接
  • 其他信息:

  • 首先使用Selenium软件包制作脚本,它工作完美,但速度非常慢
  • 将99%的进程移植到请求库。这是目前的状态
  • 浏览器使用AJAX发出此请求。回调通常需要300毫秒,python脚本将保持连接打开,直到收到响应

  • 任何帮助都将不胜感激。谢谢

    你确定你完全模仿了浏览器标题吗?我通常使用截取代理(如burp suite)来比较浏览器和python请求发出的请求,以确保它们完全匹配。从您的描述中,我看不出它不起作用的另一个原因。@J91321我复制的标题100%相同。我开始猜这是饼干的问题。也许浏览器使用js(?)设置cookies,如果是,我可以做什么来获得python中的cookies?(动态创建的cookies)如果js正在生成cookies,我知道的唯一解决方案是在页面上找到js代码,并用python脚本重新创建这些cookies。同样,intercept proxy将向您显示发送的cookie值。还有一件事,你试过含硒的幻影吗?应该快得多。@J91321是的,我试过了。该脚本的原始版本是使用phantomjs和selenium完成的,但是对于所需的任务来说,它太慢了。现在我将所有代码移动到请求中,只是因为它更快