当前位置: 首页 > news >正文

洛阳直播网站建设做网站哪家公司好

洛阳直播网站建设,做网站哪家公司好,网上做兼职正规网站有哪些,免费企业网站哪个好From: http://www.cnblogs.com/yuxc/archive/2011/08/01/2123995.html 刚好用到#xff0c;这篇文章写得不错#xff0c;转过来收藏。 转载自 道可道 | Python 标准库 urllib2 的使用细节 Python 标准库中有很多实用的工具类#xff0c;但是在具体使用时#xff0c;标准…From: http://www.cnblogs.com/yuxc/archive/2011/08/01/2123995.html 刚好用到这篇文章写得不错转过来收藏。    转载自 道可道 | Python 标准库 urllib2 的使用细节 Python 标准库中有很多实用的工具类但是在具体使用时标准库文档上对使用细节描述的并不清楚比如 urllib2 这个 HTTP 客户端库。这里总结了一些 urllib2 库的使用细节。   1 Proxy 的设置 2 Timeout 设置 3 在 HTTP Request 中加入特定的 Header 4 Redirect 5 Cookie 6 使用 HTTP 的 PUT 和 DELETE 方法 7 得到 HTTP 的返回码 8 Debug Log 1 Proxy 的设置 urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy。如果想在程序中明确控制 Proxy而不受环境变量的影响可以使用下面的方式 import urllib2 enable_proxy True proxy_handler urllib2.ProxyHandler({http : http://some-proxy.com:8080}) null_proxy_handler urllib2.ProxyHandler({}) if enable_proxy: opener urllib2.build_opener(proxy_handler) else: opener urllib2.build_opener(null_proxy_handler) urllib2.install_opener(opener) 这里要注意的一个细节使用 urllib2.install_opener() 会设置 urllib2 的全局 opener。这样后面的使用会很方便但不能做更细粒度的控制比如想在程序中使用两个不同的 Proxy 设置等。比较好的做法是不使用 install_opener 去更改全局的设置而只是直接调用 opener 的 open 方法代替全局的 urlopen 方法。 2 Timeout 设置 在老版本中urllib2 的 API 并没有暴露 Timeout 的设置要设置 Timeout 值只能更改 Socket 的全局 Timeout 值。 import urllib2 import socket socket.setdefaulttimeout(10) # 10 秒钟后超时 urllib2.socket.setdefaulttimeout(10) # 另一种方式 在新的 Python 2.6 版本中超时可以通过 urllib2.urlopen() 的 timeout 参数直接设置。 import urllib2 response urllib2.urlopen(http://www.google.com, timeout10) 3 在 HTTP Request 中加入特定的 Header 要加入 Header需要使用 Request 对象 import urllib2 request urllib2.Request(uri) request.add_header(User-Agent, fake-client) response urllib2.urlopen(request) 对有些 header 要特别留意Server 端会针对这些 header 做检查 User-Agent 有些 Server 或 Proxy 会检查该值用来判断是否是浏览器发起的 Request Content-Type 在使用 REST 接口时Server 会检查该值用来确定 HTTP Body 中的内容该怎样解析。   常见的取值有 application/xml 在 XML RPC如 RESTful/SOAP 调用时使用 application/json 在 JSON RPC 调用时使用 application/x-www-form-urlencoded 浏览器提交 Web 表单时使用 ……   在使用 RPC 调用 Server 提供的 RESTful 或 SOAP 服务时 Content-Type 设置错误会导致 Server 拒绝服务。 4 Redirect urllib2 默认情况下会针对 3xx HTTP 返回码自动进行 Redirect 动作无需人工配置。要检测是否发生了 Redirect 动作只要检查一下 Response 的 URL 和 Request 的 URL 是否一致就可以了。 import urllib2 response urllib2.urlopen(http://www.google.cn) redirected response.geturl() http://www.google.cn 如果不想自动 Redirect除了使用更低层次的 httplib 库之外还可以使用自定义的 HTTPRedirectHandler 类。 import urllib2 class RedirectHandler(urllib2.HTTPRedirectHandler): def http_error_301(self, req, fp, code, msg, headers): pass def http_error_302(self, req, fp, code, msg, headers): pass opener urllib2.build_opener(RedirectHandler) opener.open(http://www.google.cn) 5 Cookie urllib2 对 Cookie 的处理也是自动的。如果需要得到某个 Cookie 项的值可以这么做 import urllib2 import cookielib cookie cookielib.CookieJar() opener urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) response opener.open(http://www.google.com) for item in cookie: if item.name some_cookie_item_name: print item.value 6 使用 HTTP 的 PUT 和 DELETE 方法 urllib2 只支持 HTTP 的 GET 和 POST 方法如果要使用 HTTP PUT 和 DELETE只能使用比较低层的 httplib 库。虽然如此我们还是能通过下面的方式使 urllib2 能够发出 HTTP PUT 或 DELETE 的包 import urllib2 request urllib2.Request(uri, datadata) request.get_method lambda: PUT # or DELETE response urllib2.urlopen(request) 这种做法虽然属于 Hack 的方式但实际使用起来也没什么问题。 7 得到 HTTP 的返回码 对于 200 OK 来说只要使用 urlopen 返回的 response 对象的 getcode() 方法就可以得到 HTTP 的返回码。但对其它返回码来说urlopen 会抛出异常。这时候就要检查异常对象的 code 属性了 import urllib2 try: response urllib2.urlopen(http://restrict.web.com) except urllib2.HTTPError, e: print e.code 8 Debug Log 使用 urllib2 时可以通过下面的方法把 Debug Log 打开这样收发包的内容就会在屏幕上打印出来方便我们调试在一定程度上可以省去抓包的工作。 import urllib2 httpHandler urllib2.HTTPHandler(debuglevel1) httpsHandler urllib2.HTTPSHandler(debuglevel1) opener urllib2.build_opener(httpHandler, httpsHandler) urllib2.install_opener(opener) response urllib2.urlopen(http://www.google.com) ---我是低调的不显眼的简洁的不会被敌人发现的分割线---
http://wiki.neutronadmin.com/news/324618/

相关文章:

  • 越秀网站建设价格做机械的有什么网站
  • 集团网站建设工作方案怎么用网站推广
  • 成都网站建设推广服务百度导航
  • 国内有做外汇的正规网站吗龙岩做网站开发哪家公司好
  • 建了一个网站 如何找到放图片的文件夹阿里云购买网站登录
  • php 企业网站开发实例萝岗手机网站建设
  • 网站的规划与设计郑州天道做网站
  • 如何对上传的网站做代码修改建网站用什么系统好
  • 高端企业网站公司宠物医院网站建设方案
  • 抚顺网站建设公司果业局网站建设
  • 企业门户网站建设公司广西网站建设教程
  • 反钓鱼网站建设期查看公司股票的网站
  • 建网站都要什么费用滁州哪里做网站
  • 小企业网站推广房地产设计图与规划图
  • 微网站首选公司个人网站设计及实现论文
  • 做选择网站工作总结及工作计划
  • 网站建设ppt方案余姚什么网站做装修比较好
  • react可以做门户网站么网站维护更新费用
  • 怎么制作爆米花教程seo服务多少钱
  • 个人网站设计首页界面南通企业建站模板
  • 做外商备案的网站海沧网站制作
  • 爱站长尾词挖掘工具凡客帆布鞋
  • 怎么查一个网站的外链和反链软件万网官网域名查询
  • 主题网站设计模板西南城乡建设部网站首页
  • 内部网站建设、网站短期电脑培训班学费
  • 丰镇网站建设哈尔滨网站建设网站
  • 电子商务网站建设实训报告主要内容济南网站制作厂家
  • 云南建设注册考试中心网站app有关做生态环境的官方网站
  • 盘锦门户网站建设chrome官网
  • 英德市建设及城乡管理局网站龙元建设网站