如何用Python从带密码的Pastebin链接获取原始数据?
解决方案
报错原因
你碰到的SSLCertVerificationError是requests默认对站点SSL证书进行校验,本地根证书库中没有对应信任锚导致验证失败。
修复方案
1 SSL错误修复
两种可选方案:
- 临时跳过校验:请求时添加
verify=False参数,可配合以下代码关闭对应警告:
import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
- 永久修复:更新本地根证书库,执行以下命令升级certifi包即可:
pip install --upgrade certifi
macOS用户也可以直接运行Python安装目录下的Install Certificates.command文件完成更新。
2 完整可运行代码
Pastebin的密码验证基于会话Cookie,需要用requests.Session()保持会话状态,提交密码后再请求原始内容接口:
import requests import urllib3 # 关闭跳过SSL验证产生的警告,不需要可删除 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) # 初始化会话保持Cookie session = requests.Session() headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" } # 替换为你的Pastebin链接和访问密码 paste_url = "https://pastebin.com/你的PasteID" access_password = "你的访问密码" pass_data = {'PostPasswordVerificationForm[password]': access_password} # 提交密码验证,证书修复后可删除verify=False参数 session.post(paste_url, headers=headers, data=pass_data, verify=False) # 获取原始内容 raw_url = f"https://pastebin.com/raw/{paste_url.split('/')[-1]}" raw_content = session.get(raw_url, headers=headers, verify=False).text print(raw_content)
注意事项
- 生产环境建议优先使用证书更新方案,跳过SSL校验存在安全风险
- 不要短时间内发起大量请求,避免被Pastebin限制IP访问
- 确认PasteID和访问密码正确,否则验证失败无法获取内容
内容的提问来源于stack exchange,提问作者vantabeam
相关产品推荐
相关产品推荐

