要发送 HTTP 请求并获取响应,我们可以使用Python的标准库中的urllib
或第三方的requests
库。以下是Python中使用get和post方式发送 HTTP 请求的完整指南:
使用urllib
库发送 HTTP 请求
1.发送GET请求并获取响应
import urllib.request
url = 'http://www.example.com'
response = urllib.request.urlopen(url)
print(response.read().decode())
这里的urllib.request.urlopen()
方法接收一个URL参数,向该URL发出GET请求并返回响应。我们可以使用read()
方法读取响应的内容,并使用decode()
方法将其从字节编码转换为字符串。
2.发送POST请求并获取响应
import urllib.parse
import urllib.request
url = 'http://www.example.com/login'
data = {'username': 'test', 'password': '123456'}
data = urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url, data)
print(response.read().decode())
在这个示例中,我们使用urllib.parse
模块的urlencode()
方法将数据转换为URL编码格式,并将其编码为UTF-8格式的字节数据。然后我们使用urllib.request.urlopen()
方法向指定的URL发送POST请求及其编码数据。与GET请求相同,我们可以使用read()
和decode()
方法获取和读取响应。
使用requests
库发送 HTTP 请求
1.发送GET请求并获取响应
import requests
url = 'http://www.example.com'
response = requests.get(url)
print(response.text)
在这个示例中,我们使用requests.get()
方法向指定的URL发送GET请求,获取响应并返回Response对象
。我们可以使用text
属性获取响应的内容。
2.发送POST请求并获取响应
import requests
url = 'http://www.example.com/login'
data = {'username': 'test', 'password': '123456'}
response = requests.post(url, data=data)
print(response.text)
在这个示例中,我们使用requests.post()
方法向指定的URL发送POST请求,同时将指定的数据在请求中传递。同样的,我们可以使用text
属性获取响应的内容。
注意:在使用urllib
或requests
发送 HTTP 请求时,需要确保输入的URL是正确的,否则将无法获取到正确的响应。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python通过get,post方式发送http请求和接收http响应的方法 - Python技术站