美文网首页Python
Python urllib-request模块

Python urllib-request模块

作者: 大狗熊熊熊熊熊 | 来源:发表于2022-07-24 21:08 被阅读0次
urllib.request模块常用类有
1.urllib.request.HTTPDefaultErrorHandler 《处理http响应错误》
2.urllib.request.HTTPRedirectHandler 《处理重定向》
3.urllib.request.HTTPCookieProcessor 《处理cookieHandler需要配合http.cookiejar使用》
  例:
  cookie = http.cookiejar.CookieJar()
  cookieHandler = urllib.request.HTTPCookieProcessor(cookie)
  opener = urllib.request.build_opener(cookieHandler)
  opener.open(url)
  cookie在这里,opener只是用于打开链接
4.urllib.request.HTTPPasswordMgr 《管理URL领域用户名密码的映射》
  例:
  map = urllib.request.HTTPPasswordMgrWithDefaultRealm()
  map.add_password(NONE,url,"username","password")
5.urllib.request.ProxyHandler 《设置代理》
  例:
  proxy = urllib.request.ProxyHandler({"key":"value"})
  opener = urllib.request.build_opener(proxy)
  result = opener.oepn(url)
6.urllib.request.HTTPBasicAuthHandler 《处理URL领域用户名密码的映射并返回一个管理认证handler对象》
  例:
  map = urllib.request.HTTPPasswordMgrWithDefaultRealm()
  map.add_password(NONE,url,"username","password")
  authHandler = urllib.request.HTTPBasicAuthHandler(map)
7.urllib.request.OpenerDirector《串接在一起的 BaseHandler 打开 URL》
8.urllib.requset.Request() 《构造url请求抽象类》
  urllib.requset.Request(url,data,headers,origin_req_host,unverifiable,mothod) 
  例:
  url = "https://www.httpbin.org/post"
  data = bytes(urllib.parse.urlencode({"key":"example"}),encoding="utf-8") 
  headers = {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)     
  AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"}
  origin_req_host = 略
  unverifiable = 略
  method = "post"
  request = urllib.requset.Request(url,data,headers,method)
  result = urlib.request.urlopen(request)
urllib.request模块常用类函数有
1.urllib.request.urlopen() 《打开统一资源定位地址 url》
  例:
  urllib.request.urlopen("https://www.baidu.com")  《无参数例子》
  urllib.request.urlopen("https://www.httpbin.org/post",data=data) 《带data参数  
  例子》
  data=bytes(urllib.parse.urlencode({"key":"example"}),encoding="utf-8") 《带 
  参数例子data值》
  urllib.request.urlopen("https://www.baidu.com/get",timeout=1) 《带timeout参 
  数例子》

2.urllib.request.build_opener() 《返回一个 OpenerDirector实例,以接受的handler参数决定要处理的实际Handler类》
  例:处理HTTPBasicAuthHandler管理认证Handler
  map = urllib.request.HTTPPasswordMgrWithDefaultRealm
  map.add_password(NONE,url,"username","password")
  authHandler = urllib.request.HTTPBasicAuthHandler(map)
  opener = urllib.request.build_opener(authHandler)
  reusult = opener.open(url)

相关文章

网友评论

    本文标题:Python urllib-request模块

    本文链接:https://www.haomeiwen.com/subject/oqdwirtx.html