使用Python请求库发送jquery AJAX GET请求

2023-12-02

我有一个需要抓取的网站,它使用 jquery AJAX 函数从服务器获取信息。我已经研究代码一段时间了,我成功地使用以下命令从服务器获得了响应:

data = {'part_number':'1234'}
r = $.ajax({
        type : 'GET',
        url : 'ajaxurl',
        data : data
    })

请注意,这是通过 js 控制台完成的,所以我已经登录了。当我尝试在 python 中执行此操作时,我当然需要先登录:

import requests
headers = {'User-Agent': 'Mozilla/5.0','Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
payload = {'username':'me','password':'1234'}
link = 'login url'
session = requests.Session()
resp = session.get(link,headers=headers)
cookies = requests.utils.cookiejar_from_dict(requests.utils.dict_from_cookiejar(session.cookies))
resp = session.post(link,headers=headers,data=payload,cookies =cookies)

#until here sucesss!"############

url = "ajaxurl"
my_params={'part_number':'1234'}
r = session.get( url = url, data = my_params, cookies =cookies,headers =headers )

登录的发布请求进展顺利,但对于 GET 响应,我收到 BAD REQUEST 400。我不知道如何格式化我的请求。我不知道ajax对我的请求做了什么。有人有什么想法吗?

提前致谢!


解决了! 我添加了'X-Requested-With': 'XMLHttpRequest'到标题并做了:

pn = '1234'
r = requests.get(ajaxurl + '?part_number=' + pn, headers=headers, cookies=cookies)

但不明白为什么:(

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Python请求库发送jquery AJAX GET请求 的相关文章

随机推荐