2014-09-24 2 views
-1

내가 이메일을 분석하고 재설정 암호로 저를 지원하기 위해 데이터베이스에 대해이를 확인 읽고 작은 스크립트가,인쇄 출력 후 데이터

불행하게도 나는 버그를 가지고 있고 나는 현재를 찾을 것으로 보인다 수 없습니다 세부 사항에 차이가 있는지 육안으로 확인하려고합니다 (희망적으로 패턴을 찾는 것).

이 코드의 관련 부분입니다 :

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) 

지금 내가 # 1 섹션에서 "데이터를"실제 헤더를 인쇄하는 방법을 알아 내려고 노력하고있어 내 "log.error"디버그 라인 안에 .

은 내가 수행하여 직접 접근 방법을 시도했습니다 :

log.error(requests.post); 

또는

log.error(requests.post(data)); 

하지만이 작동하지 않습니다 - 그리고 난 이유를 이해하기 충분 파이썬을 모른다. 데이터가 전역으로 정의 IST 이후

+0

당신이 점점 오류가 어떤 종류의? – APerson

+0

@APerson, 메모리 포인터 '(0x7f07b87ae848의 함수 게시)'에서 일반'전역 이름'데이터 '가'정의되지 않음 '까지 다양합니다. 내가 시도한 것에 따라 달라집니다. – Amit

+0

안정적으로 같은 오류가 발생하지 않습니까? – APerson

답변

1

log.error(requests.post);는 함수 포인터를
log.error(requests.post(data)); 인쇄 함수의 결과를 출력 -이 변수가 전역으로 정의 될 것으로 보인다 이후> 오류

이 당신을 위해 작동해야 log.error(parse_headers)을보십시오.
그러나 일반적으로 '{0}'. format (var)과 같은 변수를 사용하여 나중에 문자열로 작업하고 있습니다.

편집 :

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 
    ) 
+0

고마워,하지만 헤더가 아니라 "DATA"게시물이 필요하다. – Amit

+0

방금 ​​대답을 업데이트했습니다. –

+0

감사합니다. 필요한 것이 었습니다. – Amit