lf.Visit_Url(get_code_url)
45 if code:
46 return code
47 else:
48 print "Failure to obtain results"
49
50 def Get_Access_token(self): # 2 第二步:通过code换取网页授权access_token
51 code = self.Get_Code()
52 get_access_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code' % (
53 self.appid, self.secret, code)
54 acc_token = self.Visit_Url(get_access_url)
55 if acc_token["errcode"]:
56 pass
57 if acc_token["access_token"]:
58 # access_token = json.loads(access_token)
59 access_token = acc_token["access_token"]
60 expires_in = acc_token["expires_in"]
61 refresh_token = acc_token["refresh_token"]
62 openid = acc_token["openid"]
63 scope = acc_token["scope"]
64 return access_token, openid, refresh_token
65
66 def Refresh_Access_token(self): # 3 第三步:刷新access_token(如果需要)
67 yu_zu = self.Get_Access_token()
68 refresh_token = yu_zu[2]
69 new_access_url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=%s&grant_type=refresh_token&refresh_token=%s' % (
70 self.appid, refresh_token)
71 new_acc_token = self.Visit_Url(new_access_url)
72 if new_acc_token["errcode"]:
73 pass
74 if new_acc_token["access_token"]:
75 # access_token = json.loads(access_token)
76 access_token = new_acc_token["access_token"]
77 expires_in = new_acc_token["expires_in"]
78 refresh_token = new_acc_token["refresh_token"]
79 openid = new_acc_token["openid"]
80 scope = new_acc_token["scope"]
81 return access_token, openid
82
83 def Verify_Access_token(self): # 验证access_token是否有效
84 yu_zu = self.Refresh_Access_token()
85 access_token = yu_zu[0]
86 openid = yu_zu[1]
87 verify_url = 'https://api.weixin.qq.com/sns/auth?access_token=%s&openid=%s ' % (
88 access_token, openid)
89 verify = self.Visit_Url(verify_url)
90 if verify["error"] == 0:
91 print "Succeed!!!"
92 return access_token, openid
93 else:
94 pass
95
96 def Get_Message(self): # 4 第四步:拉取用户信息(需scope为 snsapi_userinfo)
97 yu_zu = self.Verify_Access_token()
98 access_token = yu_zu[0]
99 openid = yu_zu[1]
100 user_message_url = 'https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN' % (
101 access_token, openid)
102 user_message = self.Visit_Url(user_message_url)
103 openid = user_message["openid"]
104 global openid
105 nickname = user_message["nickname"]
106 sex = user_message["sex"]
107 province = user_message["province"]
108 city = user_message["city"]
109 country = user_message["country"]
110 openheadimgurlid = user_message["headimgurl"]
111 privilege = user_message["privilege"]
112 unionid = user_message["unionid"]
113 return openid, nickname, sex, province, city, country, openheadimgurlid
114
115 def Insert_db(self):
116 pass
117
118
119
120 class Query_User_Tel:
121 def __init__(self, tel):
122 self.openid = openid
123 self.tel = tel
124 self.conn = MySQLdb.connect(
125 host='localhost',
126 user='root',
127 passwd='123456',
128 db='test',
129 port=3306
130 )
131
132 def Judge_user(self) |