简短版本:我可以只使用Requests模块进行POST,GET和DELETE吗?
我正在尝试使用Pinterest REST API。 (Pinterest API Explorer)
我正在使用简单的路由,只需通过oauth手动获取我的身份验证令牌,所以基本上我需要知道的是POST,GET和DELETE到特定的URL并且还包含参数,然后返回一个JSON。
我真的只需要三个API函数,列出授权用户的关注者(GET),关注用户(POST)和取消关注用户(DELETE)。我需要的唯一参数是我手动获取的access_token。
这似乎是一个简单的问题,但是有大约5个python Pinterest API包装器,它们都没有完成,其中一些根本不工作。我查看了pycurl,httplib和请求模块。他们看起来都有一个足够简单的GET方法,但是使用POST和DELETE会变得更复杂。看起来它应该是超级简单的,一个接受方法(POST / GET / DELETE / etc),一个url和一组参数的函数,那么为什么它比这复杂呢?如果这很容易,我不明白为什么所有这些API包装器都要完成一半,因为它理论上应该像API中的每个函数调用具有这3个参数(带有第3个参数的数组)的函数一样简单
在Requests python包中,RequestMethods类下有这个函数: def请求(self,method,url,fields = None,headers = None,** urlopen_kw)
看起来我理解除了标题和** urlopen_kw之外的所有内容,但我认为它应该可以在没有变量的情况下工作,对吗?
如果有人能指出我正确的方向,我会很感激。
答案 0 :(得分:1)
来自docs:
以下是使用Request:
执行PUT请求的示例import urllib.request DATA = b'some data' req = urllib.request.Request(url='http://localhost:8080', data=DATA,method='PUT') with urllib.request.urlopen(req) as f: pass print(f.status) print(f.reason)
在您的情况下,该方法将是“POST”,“删除”或您喜欢的任何内容。