在python中将参数添加到url

2024-09-29 01:25:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将两个参数传递到我的url(状态代码和父id)。url请求的json响应如下:

{
"page": 1,
"per_page": 10,
"total": 35,
"total_pages": 4,
"data": [
       {
        "id": 11,
        "timestamp": 1565193225660,
        "status": "RUNNING",
        "operatingParams": {
            "rotorSpeed": 2363,
            "slack": 63.07,
            "rootThreshold": 0
        },
        "asset": {
            "id": 4,
            "alias": "Secondary Rotor"
        },
        "parent": {
            "id": 2,
            "alias": "Main Rotor Shaft"
        }
    }]

我想知道如何在url中传递这两个参数。传递?status=RUNNING将给出所有具有running as状态的设备的响应(这非常简单)。 目前,我已经尝试过:

import requests
resp = requests.get('https://jsonmock.hackerrank.com/api/iot_devices/search?status=RUNNING')
q = resp.json()
print(q)

我应该如何传入parentid=2,这样它将返回一个带有其父id=2的设备的响应。谢谢


Tags: 代码idjsonurl状态statuspagealias
3条回答

如果您希望通过get请求发送数据,则该过程是直接进行的,请注意不同的值是如何用“&;”分隔的

url?name1=value1&name2=value2

如果您使用Flask作为后端,那么您可以访问这些参数,如

para1=request.args.get("name1")
para2=request.args.get("name2")

在前端,您可以使用ajax发送请求

var xhttp=new XMLHttpRequest();
var url="url?name1=value1&name2=value2"
xhttp.open("GET",url,true)
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) 
  {
    console.log(this.responseText);
  }
};
xhttp.send();

它在请求文档中

resp = requests.get(
    'https://jsonmock.hackerrank.com/api/iot_devices/search',
    params={
        'status': 'RUNNING',
        'parentid': 2,
    },
)

要添加第二个get参数,请使用&分隔符:

import requests
resp = requests.get('https://jsonmock.hackerrank.com/api/iot_devices/search?status=RUNNING&parentid=2')
q = resp.json()
print(q)

相关问题 更多 >