小编Hel*_*enM的帖子

如何在python中使用两足式oauth2发送POST?

我在python中使用2腿式oauth2有一个有效的GET。这是工作 GET代码:

进口:

import oauth2 
import urllib #for url-encode
import urllib2 #for getting and receiving data from server
import time #Unix timestamp import oauth2
Run Code Online (Sandbox Code Playgroud)

电话:

resourceUrl = "https://test.mysite:8443/ess/scheduleapi/v1/people"
request = build_request(resourceUrl,'GET')
u = urllib2.urlopen(request.to_url())
people_data = u.read()
Run Code Online (Sandbox Code Playgroud)

生成请求的功能:

def build_request(url, method):
    params = {                                            
        'oauth_version': "1.0",
        'oauth_nonce': oauth2.generate_nonce(),
        'oauth_timestamp': int(time.time())
    }
    consumer = oauth2.Consumer(key='mykey',secret='mysecret')
    params['oauth_consumer_key'] = consumer.key
    req = oauth2.Request(method=method, url=url, parameters=params)
    signature_method = oauth2.SignatureMethod_HMAC_SHA1()
    req.sign_request(signature_method, consumer, None)
    return req
#end build_request
Run Code Online (Sandbox Code Playgroud)

因此,我认为我可以复制我认为需要的GET部分,并将其与我从某些urllib2文档中获得的语​​法结合起来,并编写出有效的POST。不是这样 请记住,我具有相同的导入和相同的build_request函数。这是断的 POST代码。请指教!

电话:

myurl = …
Run Code Online (Sandbox Code Playgroud)

python post urllib2 oauth-2.0

4
推荐指数
1
解决办法
7844
查看次数

标签 统计

oauth-2.0 ×1

post ×1

python ×1

urllib2 ×1