当前位置: 首页 > 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://www.sadfv.cn/news/324618/

相关文章:

  • 双鱼儿 网站建设pt网站怎么下载与做
  • 丽江市住房建设局网站利用wordpress赚钱
  • 网站建设维护合同模板wordpress修改插件路径
  • 白银网站模板网站制作流程分为哪三步
  • dede手机医院网站模板下载广告制作培训
  • 仿牌网站安全石家庄做网站排名公司
  • 自建商城网站有哪些平台徐州市徐州市城乡建设局网站首页
  • 网站内容策略东莞做网站哪家最好
  • 网站开发实例视频高端视觉网站
  • 网站备案名称更换电子商务网站开发人员要求
  • 网站图片怎么优化什么是网站的空间
  • 金光华网站建设网站模版怎么上传到空间
  • 只做自己网站网站在线开发
  • 芜湖做网站电商设计工资多少钱一个月
  • 建一个网站需要什么资料收录好的网站
  • 免费公司网站模版ios开发者账号有什么用
  • 网站建设与维护实训wordpress home index
  • 制作网页的过程上海搜索排名优化
  • 赣州网站开发公司it类网站
  • 延庆精神文明建设的门户网站汕头网站建设制作方案
  • 怎样策划一个营销型网站重庆网站seo好不好
  • 免费建网站 高校社团官方网站做不规则几何图形的网站
  • 网络营销图片威海网站优化
  • 网站建设主要问题及建议嘉峪关外包网络推广
  • 如何做话费卡回收网站wangz网站建设
  • wordpress表单 慢合肥网站seo费用
  • 深圳做网站网络营销公司排名专业团队表情包张伟
  • 怎样提交网站百度收录做外贸采购都是用什么网站
  • 做淘宝详情的网站深圳美容网站建
  • 人力资源公司网站建设wordpress 餐饮