urllib2构造post+get请求
时间: 2024-11-06 16:19:29 浏览: 13
Python中urllib+urllib2+cookielib模块编写爬虫实战
在Python中,可以使用`urllib2`库来构造POST和GET请求。这里是一个简单的例子:
### GET 请求:
```python
import urllib2
url = 'http://example.com/api'
params = {'key': 'value'} # 对应URL中的查询字符串参数
# 构造GET请求
data = urllib.urlencode(params) # 将字典转换成URL编码格式
full_url = url + '?' + data if data else url # 如果有参数,则添加到URL后面
request = urllib2.Request(full_url)
response = urllib2.urlopen(request)
print(response.read()) # 打印响应内容
```
### POST 请求:
```python
import urllib2
import urllib
url = 'http://example.com/api'
data = {'key': 'value'} # 要发送的数据,通常包含在form-data中
# 构造POST请求
data = urllib.urlencode(data) # URL编码数据
headers = {'Content-Type': 'application/x-www-form-urlencoded'} # 设置Content-Type为表单数据
request = urllib2.Request(url, data, headers)
response = urllib2.urlopen(request)
print(response.read()) # 打印响应内容
```
在这个例子中,`urllib.urlencode()`函数用于将字典转换为键值对形式的字符串,适合发送给服务器作为HTTP请求体。
阅读全文