웹 캡처 및 변환 도구
GrabzIt의 온라인 커뮤니티

파이썬으로 데모를 실행할 때 오류가 발생합니다.

오류:

추적 (최근 호출 마지막) :

<모듈>의 파일 "GrabzItClient.py", 6 행

grabzIt.SaveTo( "documents / result.docx")

"C : \ Program Files \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py"파일, 235 행 SaveTo

id = 자기.Save()

"C : \ Program Files \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py"파일, 209 행 Save

obj = self._take (sig, callBackURL)

_take의 "C : \ Program Files \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py"파일, 223 행

return self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data)))

HTTPPost의 "C : \ Program Files \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py"파일, 629 행

h. 엔드 헤더 ()

엔드 헤더의 파일 "C : \ Program Files \ Python36 \ lib \ http \ client.py", 1234 줄

self._send_output (message_body, encode_chunked = encode_chunked)

_send_output에서 "C : \ Program Files \ Python36 \ lib \ http \ client.py"파일, 1026 행

self.send (msg)

send에서 파일 "C : \ Program Files \ Python36 \ lib \ http \ client.py", 964 행

self.connect ()

connect의 파일 "C : \ Program Files \ Python36 \ lib \ http \ client.py", 936 행

(self.host, self.port), self.timeout, self.source_address)

create_connection의 "C : \ Program Files \ Python36 \ lib \ socket.py"파일, 704 행

getaddrinfo (호스트, 포트, 0, SOCK_STREAM)의 해상도 :

getaddrinfo의 파일 "C : \ Program Files \ Python36 \ lib \ socket.py", 743 행

_socket.getaddrinfo (호스트, 포트, 패밀리, 유형, 프로토, 플래그)의 입술 크기 :

socket.gaierror : [Errno 11001] getaddrinfo 실패

출처 : (GrabzIt을 설치하고 응용 프로그램 키와 응용 프로그램 비밀을 얻었습니다)

GrabzIt에서 가져 오기 GrabzItClient

grabzIt = GrabzItClient.GrabzItClient (응용 프로그램 키, 응용 프로그램 비밀)

grabzIt.HTMLToDOCX( "<html> <body> <h1> Hello World! </ h1> </ body> </ html>")

grabzIt.SaveTo( "documents / result.docx")

어떻게해야하는지 말해 줄 수 있습니까?

화요일, 21 8 월 화요일, 2018 06 : 54 : 17 AM에 익명으로 요청

커뮤니티에 오신 것을 환영합니다!

보통 socket.gaierror : [Errno 11001] getaddrinfo 실패 방화벽이나 프록시 뒤에서 코드를 호출 할 때 발생합니다. 응용 프로그램이 포트 80에 액세스 할 수 있는지 확인하십시오.

8 월 21, 2018 07 : 01 : 51 AM 화요일에 GrabzIt Support에 의해 답변 됨

응답 해주셔서 감사합니다.

예, 프록시 문제입니다. 프록시가없는 다른 PC를 변경하면 정상적으로 실행됩니다.

프록시와 어떻게 작동합니까?

화요일, 21 8 월 화요일, 2018 09 : 30 : 49 AM에 익명으로 응답

이것은 새로운 기능이 될 것입니다. 프록시 서버를 사용하도록 Python 클라이언트를 변경할 수 있는지 찾고 있습니다.

가능하면 수정하여 다시 연락 드리겠습니다. https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py : 모든 고객이 오픈 소스이므로 원하는 경우 직접 사용할 수 있습니다.

GrabzIt Support에서 21 8 월 화요일, 2018 12 : 20 : 04 PM

새로운 기능이 추가되었습니다. GrabzItClient.py 파일을 다운로드하고 여기에서 사본을 교체하십시오 : https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

그런 다음 새 SetLocalProxy 메소드를 제거하여 프록시 서버의 프록시 URL을 설정할 수 있습니다.

grabzIt.SetLocalProxy ( "http : // 123.123.123.123 : 21231")

지금 진행 상황을 알려 주시면 곧 새로운 버전을 출시 할 예정입니다.

GrabzIt Support에서 21 8 월 화요일, 2018 05 : 38 : 30 PM

응답 해주셔서 감사합니다.

나는 바꿨다 GrabzItClient.py 및 내 소스를 변경했습니다.

grabzIt = GrabzItClient.GrabzItClient (응용 프로그램 키, 응용 프로그램 비밀)

grabzIt.SetLocalProxy ( "http : //xxx@jp.xxxxx.com : yyyyyyy@zzz.proxy.zzz.zzzzzzz.com : 8080")

grabzIt.HTMLToDOCX( "<html> <body> <h1> Hello World! </ h1> </ body> </ html>")

grabzIt.SaveTo( "documents / result.docx")

사용자:xxx@jp.xxxxx.com

비밀번호 :yyyyyyy

프록시 서버:zzz.proxy.zzz.zzzzzzz.com

포트:8080

에러 메시지:

추적 (최근 호출 마지막) :
<모듈>의 파일 "GrabzIt_test.py", 54 행
grabzIt.SaveTo( "result.docx")
"C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py"파일, 487 행 SaveTo
id = 자기.Save()
"C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py"파일, 435 행 Save
obj = self._take (sig, callBackURL)
_take의 파일 "C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 463 행
return self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data)))
HTTPPost의 파일 "C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 1307 행
headers [ '프록시 인증'] = '기본'+ base64.b64encode (auth)
b36encode의 "C : \ Program Files \ Python64 \ lib \ base58.py"파일, 64 행
인코딩 된 = binascii.b2a_base64 (s, newline = False)
TypeError : 'str'이 아닌 바이트와 같은 객체가 필요합니다.

내가 변경 한 경우에도 동일한 오류 메시지 SetLocalProxy 에서 "http://xxx@jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"~에 "http://xxx%40jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"

익명, 22 8 월 수요일, 2018 12 : 34 : 43 AM

죄송합니다. 프록시를 잘못 설정했을 수 있습니다.

프록시를 "http : // the_other_proxy_server : port"로 변경하면 오류 메시지가 나타납니다.

추적 (최근 호출 마지막) :
<모듈>의 파일 "GrabzIt_test.py", 54 행
grabzIt.SaveTo( "result.docx")
"C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py"파일, 487 행 SaveTo
id = 자기.Save()
"C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py"파일, 435 행 Save
obj = self._take (sig, callBackURL)
_take의 파일 "C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 463 행
return self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data)))
HTTPPost의 파일 "C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 1327 행
h. 엔드 헤더 ()
엔드 헤더의 파일 "C : \ Program Files \ Python36 \ lib \ http \ client.py", 1234 줄
self._send_output (message_body, encode_chunked = encode_chunked)
_send_output에서 "C : \ Program Files \ Python36 \ lib \ http \ client.py"파일, 1026 행
self.send (msg)
send에서 파일 "C : \ Program Files \ Python36 \ lib \ http \ client.py", 964 행
self.connect ()
connect의 파일 "C : \ Program Files \ Python36 \ lib \ http \ client.py", 940 행
self._tunnel ()
_tunnel의 파일 "C : \ Program Files \ Python36 \ lib \ http \ client.py", 919 행
message.strip ()))
OSError : 터널 연결 실패 : 407 프록시 인증 필요

익명, 22 8 월 수요일, 2018 12 : 40 : 52 AM

다음과 같이 사용자 이름과 비밀번호를 지정해야합니다. http://username:password@example.com:12335

GrabzIt Support에서 22 8 월 수요일, 2018 05 : 38 : 10 AM에 응답

예, 사용자 이름과 비밀번호를 지정했습니다 (수요일, 22 8 월, 2018 09 : 34 : 43 AM에 대한 질문).

http://username:password@example.com:12335

username은 이메일 주소 (xxx@jp.xxxxx.com)이므로 xxx % 40jp.xxxxx.com으로 변경되었습니다.

하지만 같은 오류 메시지입니다 : TypeError : 'str'이 아닌 바이트와 같은 객체가 필요합니다.

익명, 22 8 월 수요일, 2018 05 : 50 : 49 AM

죄송합니다. 이전 답변을 놓쳤습니다. 나는 이것이 Python 3 문제라고 생각하고 오류를 해결 해야하는 수정 프로그램을 발표했습니다. https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py에서 GrabzItClient.py를 다시 업데이트 할 수 있습니다.

GrabzIt Support에서 22 8 월 수요일, 2018 06 : 40 : 47 AM에 응답

파이썬 파일을 교체하고 새로운 오류 메시지를 찾았습니다.

추적 (최근 호출 마지막) :

<모듈>의 파일 "GrabzIt_test.py", 54 행

grabzIt.SaveTo( "result.docx")

"C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py"파일, 244 행 SaveTo

id = 자기.Save()

"C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py"파일, 218 행 Save

obj = self._take (sig, callBackURL)

_take의 파일 "C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 232 행

return self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data)))

HTTPPost의 파일 "C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 661 행

headers [ '프록시 인증'] = '기본'+ encodeAuth

TypeError : 바이트가 아닌 str이어야합니다

익명, 22 8 월 수요일, 2018 08 : 39 : 24 AM

좋아, 우리는 그것을 해독했다 int아스키. 우리는 파이썬 3를 사용하지 않고 있습니다. https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py에서 코드를 업데이트하십시오.

이것이 오픈 소스이므로 Github에 원하는 개선 사항을 디버그하고 커밋하십시오. 설정에 액세스 할 수 없으므로

GrabzIt Support에서 22 8 월 수요일, 2018 09 : 22 : 01 AM에 응답

당신의 도움에 많은 감사드립니다.

OSError : 터널 연결 실패 : 407 프록시 인증 필요

디버깅하려고합니다.

익명, 22 8 월 수요일, 2018 10 : 23 : 31 AM

문제가 무엇인지 알고 있지만 일부 코드를 다시 작성해야합니다. 완료되면 연락 드리겠습니다. 24 시간 안에 희망이 있습니다.

GrabzIt Support에서 22 8 월 수요일, 2018 12 : 15 : 22 PM

문제가 해결되었다고 생각합니다. https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py에서 최신 versiom을 얻을 수 있습니다.

GrabzIt Support에서 22 8 월 수요일, 2018 05 : 30 : 43 PM

답변 감사합니다.

새로운 오류 메시지 :

추적 (최근 호출 마지막) :
<모듈>의 파일 "GrabzIt_test.py", 54 행
grabzIt.SaveTo( "result.docx")
"C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py"파일, 243 행 SaveTo
id = 자기.Save()
"C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py"파일, 217 행 Save
obj = self._take (sig, callBackURL)
_take의 파일 "C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 231 행
return self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data)))
HTTPPost의 파일 "C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 629 행
h = self._getConnection ()
_getConnection의 "C : \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py"파일, 679 행
h.putheader ( '프록시 인증', '기본'+ encodeAuth)
putheader의 파일 "C : \ Program Files \ Python36 \ lib \ http \ client.py", 1201 줄
CannotSendHeader () 발생
http.client.CannotSendHeader

익명, 22 8 월 수요일, 2018 11 : 52 : 17 PM

https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py를 약간 개선했습니다.

그리고 파이썬 2.7, 3.4 및 3.6에서 테스트했으며 프록시가 있거나없는 프록시 및 공인 프록시가있는 모든 환경에서 작동합니다.

여전히 작동하지 않으면 코드를 디버깅해야합니다.

GrabzIt Support에서 23 8 월 목요일, 2018 11 : 41 : 44 AM에 응답

답장을 보내 주셔서 감사합니다.

소스를 디버깅합니다.

그건 그렇고, xxx@yyy.com과 같은 Email 인 사용자 이름을 테스트 했습니까?

익명, 23 8 월 목요일, 2018 11 : 56 : 46 AM에 익명으로 응답

아니요, 제대로 인코딩하고 디코딩 할 필요가 없으므로 문제 일 수 있습니다.

GrabzIt Support에서 23 8 월 목요일, 2018 11 : 59 : 36 AM에 응답