Python 可以使用第三方库 `requests` 来发送 HTTP 请求。requests 库提供了发送 HTTP(s)请求的功能,使用简便,可以轻松地发送 GET、POST、PUT、DELETE 或其他 HTTP 请求。
下面是一个发送 GET 请求的示例:
import requests
response = requests.get('https://www.example.com/')
print(response.text)
下面是一个发送 POST 请求的示例:
import requests
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://www.example.com/post', data=data)
print(response.text)
还可以通过 `request.method` 属性来设置请求方法,比如:
import requests
url = 'https://www.example.com/put'
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.request('PUT', url, data=data)
print(response.text)
这是一个使用 requests 库发送 HTTP 请求的简单示例。当然,如果需要更加细粒度的控制,还可以使用 `urllib` 和 `httplib` 等标准库来进行 HTTP 请求。
下面是如何使用 Python 发送其他常见请求方法的方法示例:
### 发送 PUT 请求
import requests
url = 'http://example.com'
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.put(url, data=data)
print(response.text)
### 发送 DELETE 请求
import requests
url = 'http://example.com'
response = requests.delete(url)
print(response.text)
### 发送 PATCH 请求
import requests
url = 'http://example.com'
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.patch(url, data=data)
print(response.text)
### 发送 HEAD 请求
import requests
url = 'http://example.com'
response = requests.head(url)
print(response.headers)
### 发送 OPTIONS 请求
import requests
url = 'http://example.com'
response = requests.options(url)
print(response.headers)
以上是一些常见的 HTTP 请求方法的示例。如果需要设置请求头部、传递 JSON 数据等,可以使用 requests 库提供的其他功能。
下面是一个设置请求头发送请求的示例:
import requests
url = 'https://www.example.com/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
response = requests.get(url, headers=headers)
print(response.text)
以上示例中,`headers` 参数可以用来设置请求头信息,这里我们设置了一个 User-Agent。
如果想要以 JSON 格式的数据发送请求,可以使用 `json` 参数。例如:
import requests
url = 'https://www.example.com/'
data = {'key1': 'value1', 'key2': 'value2'}
headers = {'Content-Type': 'application/json'}
response = requests.post(url, json=data, headers=headers)
print(response.text)
以上示例就是以 JSON 格式的数据发送 POST 请求,其中 `json` 参数指定了数据类型为 JSON,`headers` 中的 `Content-Type` 则指定了数据格式为 JSON。
如果请求需要携带 cookies,可以使用 `cookies` 参数。例如:
import requests
url = 'https://www.example.com/'
cookies = {'name': 'value'}
response = requests.get(url, cookies=cookies)
print(response.text)
以上示例中,`cookies` 参数指定了需要传递的 cookies。
还有其它常用的参数,如 `params` 用来传递 URL 参数,`timeout` 指定请求超时时间,等等。需要用到时可以在官方文档中查找相应的说明。