"""request构建完整请求""" from urllib import request # Request封装url req = request.Request("https://python.org") # 发起请求并保存请求结果 res = request.urlopen(req) # 打印响应信息 print(res.read().decode("utf-8")) """ class Request: def __init__(self, url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None): 参数解析: url:请求URL data:跟urlopen里面的data传递一样的bytes类型数据 headers:请求头可直接构造,也可以使用类方法add_header()传递参数 origin_req_host:请求时的host名称或者IP unverifiable:权限操作,有或者没有。默认False,表示用户没有权限选择接受这个请求的结果 method:请求时的方法,比如GET,POST,DELETE等 """ from urllib import request, parse # 设置请求的url url = "http://httpbin.org/post" # 设置请求头信息 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36", "Host": "httpbin.org" } dict = {"name": "Germey"} # 把字典转换成字节流信息 data = bytes(parse.urlencode(dict), encoding="utf8") # 参数按值传递 req = request.Request(url=url, data=data, headers=headers, method="POST") # 发起请求并保存请求结果 res = request.urlopen(req) # 打印响应信息 print(res.read().decode("utf-8"))
相关文章: