版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fancychuan/article/details/78627441
使用Python的requests来模拟登录QQ邮箱后进行邮件查找。因为requests的get方法支持params参数,能自动编码查询字符串。而且默认的是utf-8编码
QQ邮箱邮件搜索接口
def _searchCredit(self, filter_name):
url = 'https://mail.qq.com/cgi-bin/mail_list'
params = {
'advancesearch': '0',
'folderid': 'all',
'loc': 'frame_html,,,6',
'page': '0',
'receiver': filter_name,
's': 'search',
'searchmode': '',
'sender': filter_name,
'sid': self.sid,
'subject': filter_name,
'topmails': '0'
}
res = self.s.get(url, params=params, headers=self.base_header)
return res
filter_name = u'招商银行信用卡电子账单'
得到的结果:
sender=%E6%8B%9B%E5%95%86%E9%93%B6%E8%A1%8C%E4%BF%A1%E7%94%A8%E5%8D%A1%E7%94%B5%E5%AD%90%E8%B4%A6%E5%8D%95
经过验证,这是utf-8的url编码
filter_name=u'招商银行信用卡电子账单'.encode('gbk')
的时候,得到
sender=%D5%D0%C9%CC%D2%F8%D0%D0%D0%C5%D3%C3%BF%A8%B5%E7%D7%D3%D5%CB%B5%A5
这才是对的。
参考资料: