专栏首页python3Python: httplib2模块

Python: httplib2模块

[+]

httplib2功能介绍:http://code.google.com/p/httplib2/

httplib2实例页面:http://code.google.com/p/httplib2/w/list

httplib2问题提交:http://code.google.com/p/httplib2/issues/list

好吧,我觉得官方的样例还是比较全的,这里就直接贴一下吧。

Simple Retrieval

[python] view plaincopy
import httplib2  
h = httplib2.Http(".cache")  
resp, content = h.request("http://example.org/", "GET")  

Authentication

[python] 查看普通副本
导入 httplib2  
h = httplib2.Http(“ .cache”)  
h.add_credentials('name',  'password')  
RESP,含量= h.request(“https://example.org/chap/2” ,    ## SSL +基地认证  
    “ PUT” ,body = “这是文字” ,   
    headers = { 'content-type' :'text / plain' })  

Cache-Control

[python] 查看普通副本
导入 httplib2  
h = httplib2.Http(“ .cache”)  
RESP,含量= h.request(“http://bitworking.org/” )#  请求被缓存,下次还会用这个缓存而不去发送新的请求,缓存生效时间有网络配置决定  
 ...  
resp,content = h.request(“ http://bitworking.org/” ,   
    headers = { 'cache-control' :'no-cache' })    ##设置不用缓存,当次将不用缓存,而是直接发一个新的请求 

Forms

[python] 查看普通副本
>>>  从  httplib2  导入  Http  
>>>  从  urllib  导入  urlencode  
>>> h = Http()  
>>> data = dict(name = “ Joe”,comment = “ A测试注释”)  
>>> resp,内容= h.request(“ http://bitworking.org/news/223/Meet-Ares”,  “ POST”,urlencode(data))  
>>>响应  
{ 'status':  '200',  'transfer-encoding':  'chunked',  'vary':  'Accept-Encoding,User-Agent',  
 'server':  'Apache',  'connection':  'close',  'date':  'Tue,31 Jul 2007 15:29:52 GMT',   
 'content-type':  'text / html' }  

Cookies

[python] 查看普通副本
#!/ usr / bin / env python  
  
导入 urllib  
导入 httplib2  
  
http = httplib2.Http()  
  
url =  'http://www.example.com/login'     
正文= { 'USERNAME' :  'foo' ,  'PASSWORD' :  'bar' }  
标头= { 'Content-type' :  'application / x-www-form-urlencoded' }  
响应,内容= http.request(url,  'POST' ,headers = headers,body = urllib.urlencode(body))  
  
headers = { 'Cookie' :response [ 'set-cookie' ]}    ###将获得Cookie设置到请求头中,以备下次请求使用  
  
url =  'http://www.example.com/home'     
响应,内容= http.request(url,  'GET' ,headers = headers)   ##本次请求就不用带用户名,密码了  

Proxies

[python] 查看普通副本
导入 httplib2  
进口  袜子       ##需要第三方模块  
  
httplib2.debuglevel = 4  
h = httplib2.Http(proxy_info = httplib2.ProxyInfo(socks.PROXY_TYPE_HTTP,  'localhost' ,  8000 ))  
r,c = h.request(“ http://bitworking.org/news/” )  

======================================================================================

下面是我自己对模块功能的尝试:

[python] view plaincopy

   Http对象的构造方法:  
   __init__(self, cache=None, timeout=None, proxy_info=None, ca_certs=None, disable_ssl_certificate_validation=False)  
       proxy_info 的值是一个 ProxyInfo instance.  
|        
|      'cache':  
        存放cache的位置,要么为字符串,要么为支持文件缓存接口的对象  
|        
|      timeout:  
        超时时间,默认时会取python对socket链接超时的值  
|        
|      ca_certs:  
        一个用于ssl服务器认证用的包涵了主CA认证的文件路径,默认会使用httplib2绑定的证书  
|        
|      disable_ssl_certificate_validation:  
        确定是否进行ssl认证  
|    
|  add_certificate(self, key, cert, domain)  
|      添加一个ssl认证key和文件  
|    
|  add_credentials(self, name, password, domain='')  
|      添加一个用户名,密码信息  
|    
|  clear_credentials(self)  
|      删除掉所有的用户名,密码信息,貌似还是可以存多个用户名和密码  
 
 
   Http.request(self, uri, method='GET', body=None, headers=None, redirections=5, connection_type=None)  
   说明:  
   执行单次的http请求  
 
   uri:  
   一个以'http' 或 'https'开头的资源定位符字串,必须是一个绝对的地址  
 
   method:  
   支持所有的http请求方式。如: GET, POST, DELETE, etc..  
 
   body:  
   请求的附件数据,一个经过urllib.urlencode编码的字符串  
 
   headers:  
   请求头信息,一个字典对象  
 
   redirections:  
   最大的自动连续的重定向次数默认为5 
 
   返回:  
   (response, content)元组,response是一个httplib2.Response对象,content就是包含网页源码的字符串  
 
 
   httplib2.Response对象  
   其实就是一个包含所有头信息的字典,因为它本身就是集成自字典对象的  

另外,httplib2模块本身还有其它的对象或属性,可以通过print dir(httplib2)来查看

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 1.Python基础知识小结:

    Python3下载地址:https://www.python.org/downloads/windows/

    py3study
  • python手动安装paramiko

    TX云平台无法访问某些特定的外网,所以esay_install无法安装python模块

    py3study
  • python install param

    在服务器管理的时候,经常要用到paramiko这个模块。如果安装服务器上没有这个模块安装起来相当费劲。归其原因,是对于安装的步骤不正确,虽然pip会解决一些依赖...

    py3study
  • GoogleNet论文笔记/小结

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

    bear_fish
  • Debian9安装Proxmox VE/挂载新盘/单IP设置Nat转发-xinai.de

    小沨
  • 图解十大CNN架构(下)

    在昨天的学习中我们已经了解了5中常见的CNN架构,今天我们将继续用图解的方法了解其余的5种架构。

    AiTechYun
  • 无需数学背景,读懂ResNet、Inception和Xception三大变革性架构

    机器之心
  • 人工智能「 服装设计师 」上

    今天补充1则案例:服装设计师。 人工智能设计师 之 「 服装设计师 」 ? 今天更新2个人工智能服装设计师案例,第一个案例是 谷歌的Project Muze: ...

    mixlab
  • [深度概念]·华山论剑-卷积网络发展史

    LeNet:1998,Gradient based learning applied to document recognition

    小宋是呢
  • 从LeNet到SENet——卷积神经网络回顾

    AI 科技评论按:本文为浙江大学范星为 AI 科技评论撰写的独家稿件,未经许可不得转载。 从 1998 年经典的 LeNet,到 2012 年历史性的 Alex...

    AI科技评论

扫码关注云+社区

领取腾讯云代金券