2010-02-09 7 views
0

기계화 설치가 있고 파이썬으로 작업하고 있습니다. 프록시 사용에 대한 지원을 추가하고 있는데 실제로 프록시를 사용하고 있는지 어떻게 확인합니까? 난 그냥에 입력 한 몇 가지 테스트를 수행하기 때문에이 작동 된 경우 궁금해하기 시작파이썬 기계어 프록시 질문

ip = 'some proxy ip address' 
br.set_proxies({"http://": ip}) 

: 여기

은 내가 사용하고 일부 코드

ip = 'asdfasdf' 

를하며 포기하지 않았다 오류. 그렇다면 실제로 전달하는 프록시 나 내 컴퓨터의 IP 주소에 대해 IP 주소를 실제로 사용하고 있는지 확인하는 방법은 무엇입니까? mechanize에서 ip에 대한 정보를 반환하는 방법이 있습니까?

+0

에 대한 디버깅 할 필요가있다. 당신은'{ "http": .....}'를 사용해야합니다. – FallenAngel

답변

0

나는 기계화와 함께이 문제를 처리하는 방법을 잘 모르겠지만, 당신은 (하지만 여전히 파이썬에서) 기계화없이 작업을 수행하는 방법에 대해 설명 다음 링크를 읽을 수 :

Proxy Check in python

간단한 솔루션 위에서 언급 한 링크에 제공되어 귀하의 필요에 쉽게 적응할 수 있습니다.

따라서, 대신 라인의 :

print "Connection error! (Check proxy)" 

당신은

SucceededYesNo="NO" 

에 의해 대체 할 수있는 대신의

print "All was fine" 

SucceededYesNo="YES" 
으로 교체3210

이제 추가 처리를 위해 변수를 사용할 수 있습니다.

하지만 두 가지 원인으로 동일한 오류가 발생할 수 있으므로 대상 웹 페이지가 다운 된 경우에는 다루지 않습니다. (따라서 아무런 결과가 작동하지 않는 프록시 서버에서 오는지 알 수 없거나 나쁜 웹 페이지에서), 여전히 솔루션 일 수 있습니다 : 위에서 언급 한 코드로 작동하는 웹 페이지를 확인하는 것은 어떻습니까? 즉 www.google.com입니까? 이런 식으로, 당신은 하나의 원인을 제거 할 수 있고 그것은 다른 원인으로 남아 있습니다.

2

어쩌면? 키로 //`다음 프록시 유형으로 인식되지 않습니다 기계화 :

br = mechanize.Browser() 
br.set_proxies({"http": '127.0.0.1:80'}) 

당신은 당신이`HTTP를 사용하는 경우 자세한 내용

br.set_debug_http(True) 
br.set_debug_redirects(True)