我有一个小脚本,可以读取和解析电子邮件并针对数据库进行检查,以帮助我重置密码,
不幸的是我有一个错误,我似乎无法找到它,目前我正试图目测检查细节是否存在差异(希望找到一种模式)。
这是代码的相关部分:
def send_device_match_reset(username, email):
return requests.post(
'https://api.parse.com/1/requestPasswordReset',
headers=parse_headers,
data=json.dumps({
'username': username.upper(),
'email': email.encode('ascii', 'xmlcharrefreplace'),
'code': '*********'
})
)
和
if user.has_key('emailAddress'):
if user.get('emailAddress') == email:
reset_response = send_device_match_reset(username.encode('ascii', 'xmlcharrefreplace'), email.encode('ascii', 'xmlcharrefreplace'))
print "response code", reset_response.status_code
if reset_response.status_code != 200:
log.error('send_device_match_reset failed with %s:%s'%(username,email))
log.error('logging msg: %s'%(reset_response.text))
log.error('email: %s'%(email.encode('ascii', 'xmlcharrefreplace')))
log.error('username: %s'%(username.encode('ascii', 'xmlcharrefreplace')))
return
log.info('Recovered using verified email')
return message_processed(message, 'RecoveredByEmail', user=user)
现在我试图弄清楚如何从#1st部分打印实际的标题"数据" 在我的" log.error"调试行。
我一直在尝试直接做法:
log.error(requests.post);
或
log.error(requests.post(data));
但它不起作用 - 我不知道python是否足以理解为什么。
答案 0 :(得分:1)
log.error(requests.post);
打印功能指针
log.error(requests.post(data));
打印函数的结果,因为数据是全局定义的 - >错误
尝试log.error(parse_headers)
,因为这个变量似乎是全局定义的,它应该适合你
但是,我通常将我的变量(如“{0}”。格式(var)字符串化为enure,然后我使用字符串。
<强>编辑:强>
def send_device_match_reset(username, email):
data = json.dumps({
'username': username.upper(),
'email': email.encode('ascii', 'xmlcharrefreplace'),
'code': '*********'
})
log.error('sending: data = {0}'.format(data))
return requests.post(
'https://api.parse.com/1/requestPasswordReset',
headers = parse_headers,
data = data
)