Webをキャプチャして変換するツール
GrabzItのオンラインコミュニティ

Pythonでデモを実行するとエラーが発生する

エラー:

トレースバック(最後の最後の呼び出し):

ファイル「GrabzItClient.py」、6行目、<module>

grabzIt。SaveTo(「documents / result.docx」)

ファイル「C:\ Program Files \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py」、235行目 SaveTo

id = self。Save()

ファイル「C:\ Program Files \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py」、209行目 Save

obj = self._take(sig、callBackURL)

ファイル「C:\ Program Files \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py」、223行目、_take

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

HTTPPostの36行目の「C:\ Program Files \ Python629 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py」ファイル

h.endheaders()

ファイル「C:\ Program Files \ Python36 \ lib \ http \ client.py」、エンドヘッダーの1234行目

self._send_output(message_body、encode_chunked = encode_chunked)

ファイル「C:\ Program Files \ Python36 \ lib \ http \ client.py」、1026行目、_send_output

self.send(msg)

ファイル「C:\ Program Files \ Python36 \ lib \ http \ client.py」、送信行964、

self.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(host、port、family、type、proto、flags)のres:

socket.gaierror:[Errno 11001] getaddrinfoが失敗しました

ソース:(GrabzItをインストールし、アプリケーションキーとアプリケーションシークレットを取得しました)

GrabzItからGrabzItClientをインポート

grabzIt = GrabzItClient.GrabzItClient(APPLICATION KEY、APPLICATION SECRET)

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

grabzIt。SaveTo(「documents / result.docx」)

どうしたらいいか教えてもらえますか?

21年2018月06日(火曜日)54:17:XNUMX AMに匿名で質問

コミュニティへようこそ!

通常、 socket.gaierror:[Errno 11001] getaddrinfoが失敗しました ファイアウォールまたはプロキシの背後からコードが呼び出されているときに発生します。 アプリケーションがポート80にアクセスできることを確認してください。

21年2018月07日火曜日01:51:XNUMX AMにGrabzItサポートが回答

答えてくれてありがとう。

はい、プロキシの問題です。プロキシを持たない他のPCを変更しても問題ありません。

プロキシでどのように機能しますか?

21年2018月09日(火曜日)30:49:XNUMX AMに匿名で回答

これは新しい機能です。 プロキシサーバーを使用できるようにPythonクライアントを変更できるかどうかを検討しています。

可能であれば、修正してお客様にご連絡いたします。 すべてのクライアントがオープンソースであるため、必要に応じて自分で試すことができます:https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

21年2018月12日火曜日20:04:XNUMX PMにGrabzItサポートが回答

新しい機能を追加しました。 GrabzItClient.pyファイルをダウンロードして、ここからコピーを置き換えてください:https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

次に、新しいSetLocalProxyメソッドを使用して、プロキシサーバーのプロキシURLを設定できます。次に例を示します。

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

それがどうなるか今すぐお聞かせください、私たちはすぐに新しいリリースを行います!

21年2018月05日火曜日38:30:XNUMX PMにGrabzItサポートが回答

答えてくれてありがとう。

交換しました GrabzItClient.pyと私のソースを変更しました:

grabzIt = GrabzItClient.GrabzItClient(APPLICATION KEY、APPLICATION SECRET)

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

エラーメッセージ:

トレースバック(最後の最後の呼び出し):
<module>のファイル「GrabzIt_test.py」の54行目
grabzIt。SaveTo( "result.docx")
ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」の487行目 SaveTo
id = self。Save()
ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」の435行目 Save
obj = self._take(sig、callBackURL)
ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」、463行目、_take
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 ['Proxy-Authorization'] = 'Basic' + base64.b64encode(auth)
ファイル「C:\ Program Files \ Python36 \ lib \ base64.py」、58行目、b64encode
encoded = 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年2018月12日(水)34:43:XNUMX AMに匿名で回答

申し訳ありませんが、間違ったプロキシを設定した可能性があります。

プロキシを「http:// the_other_proxy_server:port」に変更すると、エラーメッセージが次のようになりました。

トレースバック(最後の最後の呼び出し):
<module>のファイル「GrabzIt_test.py」の54行目
grabzIt。SaveTo( "result.docx")
ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」の487行目 SaveTo
id = self。Save()
ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」の435行目 Save
obj = self._take(sig、callBackURL)
ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」、463行目、_take
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.endheaders()
ファイル「C:\ Program Files \ Python36 \ lib \ http \ client.py」、エンドヘッダーの1234行目
self._send_output(message_body、encode_chunked = encode_chunked)
ファイル「C:\ Program Files \ Python36 \ lib \ http \ client.py」、1026行目、_send_output
self.send(msg)
ファイル「C:\ Program Files \ Python36 \ lib \ http \ client.py」、送信行964、
self.connect()
ファイル「C:\ Program Files \ Python36 \ lib \ http \ client.py」、接続の940行目
self._tunnel()
ファイル「C:\ Program Files \ Python36 \ lib \ http \ client.py」、ライン919、_tunnel
message.strip()))
OSError:トンネル接続に失敗しました:407プロキシ認証が必要です

22年2018月12日(水)40:52:XNUMX AMに匿名で回答

次のようにユーザー名とパスワードを指定する必要があります。 http://username:password@example.com:12335

22年2018月05日水曜日、GrabzItサポートによる回答38:10:XNUMX AM

はい、ユーザー名とパスワードを指定しました(22年2018月09日水曜日34:43:XNUMX AMの質問):

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

ユーザー名はメールアドレス(xxx@jp.xxxxx.com)なので、xxx%40jp.xxxxx.comに変更しました

しかし、それは同じエラーメッセージです:TypeError: 'str'ではなく、バイトのようなオブジェクトが必要です

22年2018月05日(水)50:49:XNUMX AMに匿名で回答

申し訳ありませんが、以前の回答がありませんでした。 これはPython 3の問題だと思い、エラーを解決する修正をリリースしました。 GrabzItClient.pyをhttps://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.pyから再度更新してください。

22年2018月06日水曜日、GrabzItサポートによる回答40:47:XNUMX AM

Pythonファイルを置き換えて、新しいエラーメッセージを見つけました。

トレースバック(最後の最後の呼び出し):

<module>のファイル「GrabzIt_test.py」の54行目

grabzIt。SaveTo( "result.docx")

ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」の244行目 SaveTo

id = self。Save()

ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」の218行目 Save

obj = self._take(sig、callBackURL)

ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」、232行目、_take

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 ['Proxy-Authorization'] = 'Basic' + encodedAuth

TypeError:バイトではなくstrでなければなりません

22年2018月08日(水)39:24:XNUMX AMに匿名で回答

OK、デコードしました intoアスキー。 私たちはPython 3を使用していません。それが、私たちを捕まえた理由です。 ここからコードを更新してください:https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

これはオープンソースであるため、Githubに必要な改善点をデバッグしてコミットしてください。 設定にアクセスできないため。

22年2018月09日水曜日、GrabzItサポートによる回答22:01:XNUMX AM

ご協力いただき誠にありがとうございます。

OSError:トンネル接続に失敗しました:407プロキシ認証が必要です

デバッグしてみます。

22年2018月10日(水)23:31:XNUMX AMに匿名で回答

問題が何であるかはわかっていると思いますが、コードの一部を書き直す必要があります。 完了したらご連絡いたします。 24時間で願っています。

22年2018月12日水曜日15:22:XNUMX PMにGrabzItサポートが回答

私たちは問題を解決したと思います! ここから最新のバージョンを入手できます:https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

22年2018月05日水曜日30:43:XNUMX PMにGrabzItサポートが回答

返信いただきありがとうございます。

新しいエラーメッセージ:

トレースバック(最後の最後の呼び出し):
<module>のファイル「GrabzIt_test.py」の54行目
grabzIt。SaveTo( "result.docx")
ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」の243行目 SaveTo
id = self。Save()
ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」の217行目 Save
obj = self._take(sig、callBackURL)
ファイル「C:\ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py」、231行目、_take
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( 'proxy-authorization'、 'Basic' + encodedAuth)
ファイル「C:\ Program Files \ Python36 \ lib \ http \ client.py」、1201行目、putheader
CannotSendHeader()を発生させます
http.client.CannotSendHeader

22年2018月11日(水)午後52時17分XNUMX秒に匿名で回答

https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.pyにいくつかのマイナーな改良を加えました。

また、Python 2.7、3.4、および3.6でテストし、すべての環境で、プロキシの有無にかかわらず、認可されたプロキシで動作します。

それでも動作しない場合は、コードをデバッグする必要があります。

8月23木曜日、2018 11:41:44 AMにGrabzItサポートが回答

お返事ありがとうございます。

ソースをデバッグします。

ところで、xxx @ yyy.comのような電子メールであるユーザー名をテストしましたか?

8月23木曜日、2018 11:56:46 AMに匿名で回答

いいえ、適切にエンコードおよびデコードする必要はなかったので、それが問題である可能性があります。

8月23木曜日、2018 11:59:36 AMにGrabzItサポートが回答