当前位置: 首页 > 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.pierceye.com/news/899728/

相关文章:

  • 廊坊网站建设哪家权威网址导航大全排名
  • 北京建站公司哪个好05网电子书
  • 权威网站设计wordpress通知站点360搜索
  • 做靓号网站凡客小程序
  • 创建网站开发公司公司做个网站
  • 做网站的工具+论坛html怎么自己做网站
  • 土木在线seo网站快速整站优化技术
  • 创造力网站设计建设有限公司网站
  • 如何做网站好看做h5小程序的网站
  • 济宁网站建设价格做网站公司深
  • ae成品免费下载网站申请一个app多少钱
  • 我想自己在网站上发文章 怎样做免费观看高清正能量直播下载
  • 做网站万网长春建站模板展示
  • 广州专业建网站公司福州网站制作
  • 西安烽盈网站建设郑州营销网站托管
  • 诸几建设银行网站怎么维护好网站
  • 深圳市国外网站建设简单html5网页设计
  • 网站制作公司西南城乡建设部网站首页
  • 网站名和域名能一样吗企业网站建设硬件
  • 德州做网站公司怎么开网店淘宝
  • 苏州做网站优化的电商定制开发
  • 广西庆海建设发展有限公司网站昆山有做网站的公司吗
  • 前端课程网站wordpress 微博登陆
  • asp怎么做网站适配开发公司安置房项目工程推进大会
  • 学做网站可以赚钱吗怎么批量修改wordpress文章内容
  • 写作网站vir上海博大园林建设发展有限公司网站
  • wordpress video gallery网站代码优化怎么做
  • 厦门网站设计品牌企业互联网门户网站建设
  • 做名片模板网站中文响应式网站
  • 用tornado做网站石家庄 外贸网站建设公司