python发起http请求
时间: 2023-10-16 16:11:47 浏览: 41
在Python中,可以使用内置的`urllib`库,或第三方库`requests`来发起HTTP请求。
以下是使用`urllib`库发起GET请求的示例代码:
```python
import urllib.request
response = urllib.request.urlopen('http://www.example.com')
html = response.read()
print(html)
```
以下是使用`requests`库发起GET请求的示例代码:
```python
import requests
response = requests.get('http://www.example.com')
print(response.text)
```
要发起POST请求,可以使用`requests`库:
```python
import requests
data = {'param1': 'value1', 'param2': 'value2'}
response = requests.post('http://www.example.com', data=data)
print(response.text)
```
需要注意的是,在使用`requests`库时,需要先使用`pip`安装该库,即在命令行中执行:
```
pip install requests
```
相关问题
python发起接口请求
以下是两种Python发起接口请求的例子:
1. 使用requests库发起HTTP请求
```python
import requests
# 请求的url
request_url = 'https://xxxx'
# 请求的参数
param = {
'param1': 'xxxx'
}
# 请求的数据内容,文件类型的数据
fileData = {'media': open('file.txt', 'rb')}
# 发起POST请求
r = requests.post(url=request_url, params=param, files=fileData)
# 输出响应结果
print(r.text)
```
2. 使用telnet发起dubbo请求
```python
import telnetlib
# 连接dubbo服务
tn = telnetlib.Telnet('localhost', 20880)
# 发送dubbo请求
tn.write(b'invoke com.xxx.XxxService.xxxMethod("param1", "param2")\n')
# 获取响应结果
result = tn.read_until(b'\n')
print(result.decode('utf-8'))
# 关闭连接
tn.close()
```
python发起post请求
Python可以使用urllib模块发起post请求。具体步骤如下:
1. 导入urllib.request模块。
2. 构造请求参数,可以使用字典或者字符串形式。
3. 构造请求头,可以使用字典形式。
4. 构造请求对象,使用urllib.request.Request()方法,传入url和headers参数。
5. 发送请求,使用urllib.request.urlopen()方法,传入请求对象和请求参数。
6. 获取响应,使用read()方法获取响应内容。
举个例子,假设我们要向http://www.example.com/login发送post请求,请求参数为username=admin&password=123456,请求头为{'User-Agent': 'Mozilla/5.0'},代码如下:
```
import urllib.request
import urllib.parse
url = 'http://www.example.com/login'
data = {'username': 'admin', 'password': '123456'}
headers = {'User-Agent': 'Mozilla/5.0'}
data = urllib.parse.urlencode(data).encode('utf-8')
req = urllib.request.Request(url=url, data=data, headers=headers)
response = urllib.request.urlopen(req)
result = response.read().decode('utf-8')
```
这样就可以发起post请求并获取响应了。