2012-10-19 2 views
1

'기업 내부 도구' 파이썬 2.5.2가 포함되어 있습니다. 이것은 다른 버전이나 프로그래밍 언어를 사용할 수 없다는 것을 의미합니다. 그래서 코드는 HTTPLIB에 대해 다음입니다 : urllib2가 코드에 대한프록시를 사용하여 파이썬에서 PUT HTTP 메소드로 REST 웹 서비스에 연결하는 방법은 무엇입니까?

connection = httplib.HTTPSConnection('IP:PORT') 
    body_content = '<INPUT><Var1>DATA</Var1></INPUT>/r/n' 
    headers = {Authorization':'Basic XXXXXXXXXXXX','Accept':'text/xml','Content-Length':'XX','Host':'host name','Accept-Encoding':'gzip,deflate'} 
    connection.request('PUT', '/path/method',body_content, headers) 
    result = connection.getresponse() 

는 다음입니다 : 기본 파이썬에서 둘 다 잘 작동

body_content = '<INPUT><Var1>DATA</Var1></INPUT>\r\n' 
    opener = urllib2.build_opener(urllib2.HTTPSHandler) 
    request = urllib2.Request('https://IP:PORT/path/method', data=body_content) 
    request.headers={'Content-length': 'XX', 'Host': 'host', 'Accept': 'text/xml', 'Authorization': 'Basic XXXXXXXXXXXXX', 'Accept-encoding': 'gzip,deflate'} 
    request.get_method = lambda: 'PUT' 
    url = opener.open(request) 

2.5.2 설치. 나는 내가 가진 도구에서 동일한 코드를 사용하려고하면 는 다음과 같은 오류가 나타납니다

가 HTTPLIB :

'module' object has no attribute 'ssl' 

가 urllib2가 : 내가 알 수있는 바와 같이

urlopen error unknown url type: https 

, SSL 지원 제거 . 그건 그렇고 : 나는 내 자신의 라이브러리를 작성할 수 있으며 올바른 폴더에 배치하면 제대로 작동합니다. 질문은 다음과 같습니다. 프록시를 사용하여 웹 서비스에 연결하는 방법은 무엇입니까? 다음 예제를 찾았습니다. http://www.pha.com.au/kb/index.php/Python_-_Using_a_proxy_for_HTTP_requests

그러나 제 경우에는 작동하지 않습니다. 이것이 어떻게 해결 될 수 있는지에 대한 제안이 있습니까? 파이썬에서 HTTPS 쿼리를 수행하기위한 별도의 프록시 모듈을 구축하면이 문제를 해결할 수 있습니다. 그렇다면이 경우 연결 절차는 무엇이 될 수 있습니까?

+0

질문은 "프록시를 사용하여 웹 서비스에 연결하는 방법"이외의 질문 일 가능성이 높습니다. – Wug

답변