2010-12-22 7 views
1

두 개의 urllib2 오프너를 유지해야하는데 하나는 직접 요청이고 두 번째는 프록시 서버를 통해 요청을하고 두 번째 요청 사이에는 오프너 전환을 다시 작성해야합니다.파이썬 : urllib2 다중 오프너 처리

컨텍스트 오프너를 유지하는 방법 예 : 프록시을 따로 보관 하시겠습니까?

답변

6

귀하의 혼란은 install_openerurllib2.urlopen을 사용하는 것으로 판단됩니다. 대신 build_opener을 두 번 호출하고 결과를 별도의 개체에 저장하십시오. 그런 다음 필요할 때 적절한 오프너를 사용할 수 있습니다.

예 :

import urllib2 
direct = urllib2.build_opener() 
proxy_handler = urllib2.ProxyHandler({'http': 'http://www.example.com:3128/'}) 
proxied = urllib2.build_opener(proxy_handler) 


direct.open('http://stackoverflow.com') # opens directly 
proxied.open('http://stackoverflow.com') # opens through proxy 
+0

가 @itsadok 주셔서 감사합니다 내가 혼란스러워 점이다). – sultan

관련 문제