python发起ajax请求_使用Python请求库发送jquery AJAX GET请求

1586010002-jmsa.png

I have a website I need to scrape and it is using jquery AJAX function to get information from the server. I have been investigating the code for a while and I successfully get the response from server using:

data = {'part_number':'1234'}

r = $.ajax({

type : 'GET',

url : 'ajaxurl',

data : data

})

Note that this is done via js console so I am alreadt logged in. When I try to do it in python I need to login first of course:

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 )

The post request for login goes well but for the GET response I receive BAD REQUEST 400. I cannot figure out how to format my request. I don't know what ajax does to my request. Anyone has any ideas?

Thanks in Advance!

解决方案

Solved it!

I added 'X-Requested-With': 'XMLHttpRequest' to headers and did:

pn = '1234'

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

Did not understand why though :(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以为您提供一个简单的示例。假设您正在使用jQuery进行开发,并且您想要通过Ajax进行GET请求,并使用JSON格式进行前后端交互。 前端代码示例: ```javascript $.ajax({ url: 'your_backend_url', type: 'GET', dataType: 'json', success: function(data) { // 处理从后端返回的JSON数据 // 在这里可以使用返回的数据进行操作 }, error: function(xhr, status, error) { // 处理请求失败的情况 console.log(error); } }); ``` 在上面的示例中,您需要将 `'your_backend_url'` 替换为您的后端URL地址。该示例会向后端发送GET请求,并期望返回的数据类型为JSON。 后端代码示例(假设使用Python和Flask框架): ```python from flask import Flask, jsonify app = Flask(__name__) @app.route('/your_backend_url', methods=['GET']) def your_backend_function(): # 在这里编写处理GET请求的后端逻辑 # 可以查询数据或执行其他操作 # 构造要返回的JSON数据 data = { 'message': 'Hello, world!', 'status': 'success' } # 将JSON数据作为响应返回 return jsonify(data) if __name__ == '__main__': app.run() ``` 在上面的示例中,`your_backend_function` 是处理GET请求的后端函数。您可以在此处编写逻辑来查询数据或执行其他操作。然后,将您想要返回的数据构造为一个字典,并使用 `jsonify` 函数将其转换为JSON格式。 请注意,这只是一个简单的示例,可以根据您的具体需求进行扩展和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值