首页 > 模拟BD登录时遇到的问题(RSA相关)

模拟BD登录时遇到的问题(RSA相关)

最近学习爬虫,模拟登录BD时遇到问题,密码被加密,POST参数中也有rsakey参数等,tt参数这些如何得到。无奈水平有限,始终没明白如何模拟BD的RSA加密。希望有做过的朋友们指点指点。
这是当前BD登录需要传递的一些数据。不会的我都暂时省略了。

postDict = {    
"staticpage"    :   "http://www.baidu.com/cache/user/html/v3Jump.html",
"charset"       :   "utf-8",
# "token"           :,                  #暂时省略
"tpl"           :   "mn",
#"subpro"       :   "",
"apiver"        :   "v3",
# "tt"          :   "1412564377876",        #暂时省略
# "codestring"  :   "",
"safeflg"       :   "0",
# "u"           :   "http%3A%2F%2Fwww.baidu.com%2F&",       #暂时省略
"isPhone"       :   "false",
"quick_user"    :   "0",
"logintype"     :   "dialogLogin",
"logLoginType"  :   "pc_loginDialog",
# "idc"         :   "",
"loginmerge"    :   "true",
"splogin"       :   "rate",
# "username"        :   username,   # 用户名
# "password"        :   password,   # 用户密码
"username"      :   "****", # 用户名
"password"      :   "****",     # 用户密码
"verifycode"    :   "",
"mem_pass"      :   "on",
# "rsakey"      :   "QNxGSHNrbmjoknFRAniMpPQDfCQaliA8",     #暂时省略
"crypttype"     :   "12",
# "ppui_logintime": "448151",
# "callback"        :   "parent.bd__pcbs__md9bav"           #暂时省略};

用rsa,请求"https://passport.baidu.com/v2/getpublickey"能获得两个KEY
key = rsa.PublicKey.load_pkcs1_openssl_pem(pubkey)
password_rsaed = base64.b64encode(rsa.encrypt(password, key))

【热门文章】
【热门文章】