2014-06-05 2 views
0

내 대학의 서버에서 실행할 스크립트를 작성하고 있습니다.
스크립트의 목적은 웹 사이트를 확인하고 HTTP 상태 코드와 IP 주소를 기록하는 것입니다. 이것은 일반적으로 잘 작동하지만 해결하는데 어려움이 있습니다.
대학 네트워크 외부의 로컬 컴퓨터에서 실행하면 모든 것이 작동합니다.
내에서 스크립트를 실행하면 특정 사이트가 해결되지 않습니다. 어떤 이유로 든 내 대학의 DNS 서버가 조회를 수행 할 수 없습니다. 나는 그 기계에 대한 통제권이 없으므로 나는 그 기계를 둘러싼 길을 찾고있다.Python 스크립트 용 DNS 서버 변경

아래와 같이 쓸 때 스크립트가 사용하는 DNS 서버를 변경할 수 있습니까? 그렇지 않다면 어떻게해야합니까?

관련 코드 :

import requests 
import httplib 
import socket 

def getresponse(self,*args,**kwargs): 
    response = self._old_getresponse(*args,**kwargs) 
    if self.sock: 
     response.peer = self.sock.getpeername() 
    else: 
     response.peer = None 
    return response 


httplib.HTTPConnection._old_getresponse = httplib.HTTPConnection.getresponse 
httplib.HTTPConnection.getresponse = getresponse 

def check_peer(resp): 
    orig_resp = resp.raw._original_response 
    if hasattr(orig_resp,'peer'): 
     return getattr(orig_resp,'peer') 

r = requests.get("http://www.stackoverflow.com") 
try:  
    ip = check_peer(r) 
except TypeError: 
    ip = socket.gethostbyname_ex(site) 

답변