curl --http2 -I "http://10.88.120.27:7777/nnrf-nfm/v1/nf-instances?requester-nf--type=SMF&target-nf-type=NRF"
时间: 2023-12-28 21:03:15 浏览: 133
要在 Python 中以 HTTP/2 发送类似于上述 curl 命令的请求,你可以使用 `httpx` 库。以下是一个示例代码:
```python
import httpx
url = "http://10.88.120.27:7777/nnrf-nfm/v1/nf-instances?requester-nf--type=SMF&target-nf-type=NRF"
headers = {
"Host": "10.88.120.27",
":method": "GET",
":path": "/nnrf-nfm/v1/nf-instances?requester-nf--type=SMF&target-nf-type=NRF",
":scheme": "http",
":authority": "10.88.120.27:7777",
":protocol": "HTTP/2.0"
}
async def send_http2_request(url, headers):
async with httpx.AsyncClient() as client:
response = await client.get(url, headers=headers, http2=True)
return response
response = await send_http2_request(url, headers)
print(response.status_code)
print(response.headers)
```
在上述代码中,我们使用了 `httpx` 库的 `AsyncClient` 类来异步发送请求。使用 `get` 方法发送 HTTP/2 GET 请求,并通过 `headers` 参数设置请求头,`http2=True` 则指定使用 HTTP/2 协议。
你需要将 `url` 替换为你要发送请求的 URL,并根据你的实际情况设置请求头。在示例代码中,我根据你提供的 curl 命令设置了一些请求头。
请注意,上述代码中的请求是异步的,因此需要在异步上下文中运行。你可以将代码放在异步函数中,并使用 `asyncio` 库来运行异步函数。
这只是一个基本的示例,你可以根据你的实际需求进行修改和扩展。
阅读全文