python requests按原格式请求
时间: 2023-10-19 08:03:06 浏览: 49
在Python中使用requests库发送HTTP请求的时候,默认情况下请求的Content-Type会被设置为"application/x-www-form-urlencoded"格式。这种格式的请求体是将请求参数以"key1=value1&key2=value2"的形式进行编码,然后放在请求体中发送给服务器。
如果要按照原始格式发送请求,可以通过传递一个字节流作为请求体来实现。具体做法是将请求参数以字节流的形式发送,而不做任何编码或解码处理。代码示例如下:
```python
import requests
url = 'http://example.com/api/endpoint'
payload = b'{"key1": "value1", "key2": "value2"}'
response = requests.post(url, data=payload, headers={'Content-Type': 'application/json'})
print(response.text)
```
在上述代码中,我们使用了`requests.post()`方法发送了一个POST请求。请求的URL为"http://example.com/api/endpoint",请求体则是一个字节流`b'{"key1": "value1", "key2": "value2"}'`。注意在headers中设置了Content-Type为"application/json",以确保请求以原始格式发送。最后,我们打印了服务器返回的响应结果。
这样就可以按照原始格式发送请求,并且可以根据需求设置不同的Content-Type进行适配。