吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1070|回复: 0
收起左侧

[求助] 百度地图开放平台SN怎么使用Python3计算啊?老是错误

[复制链接]
ruxia 发表于 2020-4-27 19:39
百度地图开放平台SN怎么使用Python3计算啊?地址:http://lbsyun.baidu.com/index.php?title=lbscloud/api/appendix

官方给的python2版本

[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
# -*- coding: utf-8 -*-
# 第一行必须有,否则报中文字符非ascii码错误
import urllib
import hashlib
 
# 以get请求为例http://api.map.baidu.com/geocoder/v2/?address=百度大厦&output=json&ak=yourak
queryStr = '/geocoder/v2/?address=百度大厦&output=json&ak=yourak'
 
# 对queryStr进行转码,safe内的保留字符不转换
encodedStr = urllib.quote(queryStr, safe="/:=&?#+!$,;'@()*[]")
 
# 在最后直接追加上yoursk
rawStr = encodedStr + 'yoursk'
 
# md5计算出的sn值7de5a22212ffaa9e326444c75a58f9a0
# 最终合法请求url是http://api.map.baidu.com/geocoder/v2/?address=百度大厦&output=json&ak=yourak&sn=7de5a22212ffaa9e326444c75a58f9a0
print hashlib.md5(urllib.quote_plus(rawStr)).hexdigest()


下面是我自己改成python3,没用过urllib,一点点百度的,如果大佬做过可以不看,因为我也觉得改的好烂 [捂脸]  ,计算的sn还是错误:
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import requests
import hashlib
from urllib.parse import quote_plus
from urllib.parse import quote
 
ak = 'psNuqXmCp85QGB9PCeUTj5rXwNqrzFGO'
sk = 'vOf3dUkjgUS3GC4FmAlNudH5EK3RsQgf'
 
url = 'http://api.map.baidu.com/weather/v1/?district_id=222405&data_type=all&ak=' + ak
 
queryStr = '/weather/v1/?district_id=222405&data_type=all&ak=' + ak
 
encodedStr = quote(queryStr,safe="/:=&?#+!$,;'@()*[]")
 
rawStr = encodedStr + sk
 
md5 = hashlib.md5()
md5.update(quote_plus(rawStr).encode('utf-8'))
sn = md5.hexdigest()
 
url += "&sn="
url += sn
 
r = requests.get(url)
print(r.text)


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-21 12:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表