#-*- coding:utf-8 -*-
from weibo importAPIClientimporturllibimporturllib2importcookielibtry:importjsonexceptImportError:importsimplejson as json
APP_KEY= '1612210697'APP_SECRET= 'EEC5D28BF9284B4EAD0EB3509CA7D524268AD8DA'REDIRECT_URL= 'http://sinaapi.daoke.me:8080/weibo.html'USERID= 'mirrtalk@foxmail.com'USERPASSWD= ''client= APIClient(app_key=APP_KEY, app_secret = APP_SECRET, redirect_uri =REDIRECT_URL)classSmartRedirectHandler(urllib2.HTTPRedirectHandler):defhttp_error_301(cls, req, fp, code, msg, headers):
result=urllib2.HTTPRedirectHandler.http_error_301(cls, req, fp, code, msg, headers)
result.status=codeprintheadersreturnresultdefhttp_error_302(cls, req, fp, code, msg, headers):
result=urllib2.HTTPRedirectHandler.http_error_302(cls, req, fp, code, msg, headers)
result.status=codeprintheadersreturnresultdefget_cookie():
cookies=cookielib.CookieJar()returnurllib2.HTTPCookieProcessor(cookies)def get_opener(proxy=False):
rv=urllib2.build_opener(get_cookie(), SmartRedirectHandler())
rv.addheaders= [('User-agent', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)')]returnrvdefGetCode():
params=urllib.urlencode({'action':'submit','withOfficalFlag':'0','ticket':'','isLoginSina':'','response_type':'code','regCallback':'','redirect_uri':REDIRECT_URL,'client_id':APP_KEY,'state':'','from':'','userId':USERID,'passwd':USERPASSWD,
})
login_url= 'https://api.weibo.com/oauth2/authorize'url=client.get_authorize_url()
content=urllib2.urlopen(url)ifcontent:
headers= {'Referer':url}
request=urllib2.Request(login_url, params, headers)
opener=get_opener(False)
urllib2.install_opener(opener)try:
f=opener.open(request)
return_redirect_uri=f.urlexcepturllib2.HTTPError, e:
return_redirect_uri=e.geturl()returnreturn_redirect_uri#code = return_redirect_uri.split('=')[1]
#return code
if __name__ == '__main__':print GetCode()