2016-08-31 7 views
1

나는 다이빙을 파이썬 3에 적용 할 것입니다. http 웹 서비스 섹션 14.4 장을 읽었을 때 python3 쉘에서 다음 출력을 복제 할 수 없습니다. 다음은 샘플 코드의 모습입니다.http 디버그 정보 받기

from http.client import HTTPConnection 
HTTPConnection.debuglevel = 1 
from urllib.request import urlopen 
response = urlopen('http://diveintopython3.org/examples/feed.xml') 

send: b'GET /examples/feed.xml HTTP/1.1 
Host: diveintopython3.org 
Accept-Encoding: identity 
User-Agent: Python-urllib/3.1' 
Connection: close 
reply: 'HTTP/1.1 200 OK' 
…further debugging information omitted… 

ipython3에이 코드를 입력하면 최종 명령이 출력되지 않습니다. 그렇다면 예제에서 디버그 정보를 얻지 못하는 이유는 무엇입니까? 위의 코드를 입력하면 response.debuglevel == 0입니다. python3.5.2를 사용하고 있습니다.

+0

당신이하지 응답 – danyamachine

+0

에 HttpConnection에에 디버그 레벨을 설정해야합니다 그리고 당신은 (urllib2.urlopen'사용해야합니다)' 왜냐하면'urllib'가 Python3에서 더 이상 사용되지 않기 때문입니다. https://docs.python.org/2/library/urllib.html – alfasin

+0

@alfasin 그것은 당신 자신의 링크마다 잘못되었습니다 : "urllib.request.urlopen() 함수가 Python 3은 urllib2.urlopen()과 동일하고 urllib.urlopen()이 삭제되었습니다. " – Jakub

답변

2

마지막 명령 출력을주지해야한다, 당신이 아마 원하는 것은 :

print(response.read()) 
+0

내 랩톱에서 파이썬 코드를 실행할 때 질문에 표시된 디버그 출력을 제공합니다. 내가 연결 한 문서를 확인했습니다. urllib는 urllib.request, urllib.parse 및 urllib.error로 나뉩니다. 그것은 urllib2 실제로 사용되지 않는 것 같습니다. – William234234