python urllib2中的自定义方法

python urllib2中的自定义方法,第1张

概述使用urllib2,我们能够使用“GET”或“POST”以外的方法(提供数据时)吗? 我挖到了库中,似乎使用GET或POST的决定“方便”与请求中是否提供数据有关. 例如,我想与CouchDB数据库进行交互,这需要诸如’DEL’,’PUT’之类的方法.我想要urllib2的处理程序,但需要自己进行方法调用. 我不希望将第三方模块导入我的项目,例如CouchDB python api.所以,请不要走 使用urllib2,我们能够使用“GET”或“POST”以外的方法(提供数据时)吗?

我挖到了库中,似乎使用GET或POST的决定“方便”与请求中是否提供数据有关.

例如,我想与CouchDB数据库进行交互,这需要诸如’DEL’,’PUT’之类的方法.我想要urllib2的处理程序,但需要自己进行方法调用.

我不希望将第三方模块导入我的项目,例如CouchDB python API.所以,请不要走那条路.我的实现必须使用python 2.6附带的模块. (我的设计规范要求使用准系统PortablePython发行版).在导入外部模块之前,我会使用httplib编写自己的接口.

非常感谢你的帮助

解决方法 你可以像这样继承urllib2.Request(未经测试)

import urllib2class MyRequest(urllib2.Request):    GET = 'get'    POST = 'post'    PUT = 'put'    DELETE = 'delete'    def __init__(self,url,data=None,headers={},origin_req_host=None,unverifiable=False,method=None):       urllib2.Request.__init__(self,data,headers,origin_req_host,unverifiable)       self.method = method    def get_method(self):        if self.method:            return self.method        return urllib2.Request.get_method(self)opener = urllib2.build_opener(urllib2.httpHandler)req = MyRequest('http://yourwebsite.com/put/resource/',method=MyRequest.PUT)resp = opener.open(req)
总结

以上是内存溢出为你收集整理的python urllib2中的自定义方法全部内容,希望文章能够帮你解决python urllib2中的自定义方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存