-1
현재 입력이 LinkedIn과 같은 회사 인 경우 코드가 완벽하게 작동하고 적절한 메시지가 제공됩니다. 이메일 입력이 전혀 작동하지 않습니다. 어떤 제안? 현재 코드는 다음과 같습니다.json 데이터를 처리 할 때의 문제
import urllib
import json
userInput = input('Do you want to find an email (E) or company (C)? ')
userInput = userInput.upper()
def getResponse(url):
cleanUrl = urllib.parse.quote_plus(url, safe=':/?&=')
try:
myRequest = urllib.request.Request(cleanUrl, headers={'User-Agent': 'Chrome'})
myResponse = urllib.request.urlopen(myRequest).read().decode('utf-8')
myJSON = json.loads(myResponse)
return myJSON
except urllib.error.HTTPError as err:
print('We failed with error code - ', err.code, '(', err.reason, ')')
return
except:
print("Something else went terribly wrong!")
def takeInput():
url = 'https://haveibeenpwned.com/api/v2/'
if userInput == 'E':
email = input('What email do you want me to search for? ')
fixedurl = url + 'breachedaccount/' + email
elif userInput == 'C':
company = input('What company do you want me to search for? ')
fixedurl = url + 'breach/' + company
else:
print('Invalid entry. Please type E or C.')
myJSON = getResponse(fixedurl)
for data in myJSON:
name = myJSON.get("Name")
date = myJSON.get("BreachDate")
count = myJSON.get("PwnCount")
itemsLost = myJSON.get("DataClasses")
print("The", name,"breach occurred on", date,"and", count,"accounts were compromised. Iteams lost include:")
print(itemsLost)
break
takeInput()
고맙습니다! 휴식을 추가하는 것이 도움이되었습니다. 나는 아직도 이메일을 보낼 수 없다. 계속 "TypeError : 'NoneType'개체가 반복 가능하지 않습니다." –
fixedurl = url + 'breachedaccount /'+ email ""을 사용해야합니다. – An0n