资源简介
python3.7 使用requests库模拟新浪微博登录。由于新浪对于用户账号和密码使用特殊加密,此程序使用base64对用户名进行编码和rsa2对password进行编码,亲测完成登录。
代码片段和文件信息
# -*- coding: utf-8 -*-
import base64
import rsa
import binascii
import requests
import json
import re
#使用base64对用户名进行编码
def encode_username(username):
return base64.encodestring(bytes(username encoding=“utf8“))[:-1]
#使用rsa2对password进行编码
def encode_password(password servertime nonce pubkey):
rsaPubkey = int(pubkey 16)
RSAKey = rsa.PublicKey(rsaPubkey 65537) #创建公钥
codeStr = str(servertime) + ‘\t‘ + str(nonce) + ‘\n‘ + str(password) #根据js拼接方式构造明文
#pwd = rsa.encrypt(codeStr RSAKey) #使用rsa进行加密
pwd = rsa.encrypt(bytes(codeStrencoding=“utf8“) RSAKey)
return binascii.b2a_hex(pwd) #将加密信息转换为16进制。
#读取preinfo.php,获取servertime nonce pubkey rsakv四个参数值
def get_prelogin_info():
#//prelogin的Request URL
url = r‘http://l
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2857 2019-04-21 21:56 sinalogin\dataEncode.py
文件 1038 2019-04-21 21:54 sinalogin\Logger.py
文件 1098 2019-04-21 22:00 sinalogin\out\log_20190421.log
文件 3930 2019-04-21 22:01 sinalogin\SinaSpider.py
文件 2263 2019-04-21 21:56 sinalogin\__pycache__\dataEncode.cpython-37.pyc
文件 1003 2019-04-21 21:56 sinalogin\__pycache__\Logger.cpython-37.pyc
目录 0 2019-04-21 21:56 sinalogin\out
目录 0 2019-04-21 21:56 sinalogin\__pycache__
目录 0 2019-04-21 21:56 sinalogin
----------- --------- ---------- ----- ----
12189 9
评论
共有 条评论