Инструменты для захвата и конвертирования Интернета
Интернет-сообщество GrabzIt

Выдает ошибку, когда я запускаю демо на python

ошибка:

Traceback (последний последний вызов):

Файл "GrabzItClient.py", строка 6, в <module>

grabzIt.SaveTo( "Документы / 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)

Файл "C: \ Program Files \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py", строка 223, в _take

вернуть self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', цитата (self.request.data)))

Файл "C: \ Program Files \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py", строка 629, в HTTPPost

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)

Файл "C: \ Program Files \ Python36 \ lib \ socket.py", строка 704, в create_connection

для res в getaddrinfo (хост, порт, 0, SOCK_STREAM):

Файл "C: \ Program Files \ Python36 \ lib \ socket.py", строка 743, в getaddrinfo

для res в _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( "Документы / result.docx")

не могли бы вы сказать мне, что мне делать?

На вопрос анонимного во вторник, 21 Август, 2018 06: 54: 17 AM

Добро пожаловать в сообщество!

Обычно socket.gaierror: [Errno 11001] сбой getaddrinfo вызывается, когда код вызывается из-за брандмауэра или прокси. Пожалуйста, убедитесь, что приложение имеет доступ к порту 80.

Ответ от службы поддержки GrabzIt во вторник, 21 август, 2018 07: 01: 51 AM

Спасибо за ответ.

Да, это проблема прокси. Он работает нормально, когда я заменяю другой компьютер, на котором нет прокси.

Как это может работать с прокси?

Отвечено анонимным во вторник, 21 Август, 2018 09: 30: 49 AM

Это будет новая функция. Мы ищем, сможем ли мы изменить клиент Python для включения использования прокси-серверов.

Если это возможно, мы свяжемся с вами. Вы можете попробовать себя, если хотите, поскольку все наши клиенты с открытым исходным кодом: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Ответ от службы поддержки GrabzIt во вторник, 21 август, 2018 12: 20: 04 PM

Мы добавили новую функцию. Просто скачайте файл GrabzItClient.py и замените его здесь: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Затем вы можете установить прокси-адрес вашего прокси-сервера, используя новый метод SetLocalProxy, например:

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

Пожалуйста, дайте нам знать, как это происходит, и мы скоро выпустим новый релиз!

Ответ от службы поддержки GrabzIt во вторник, 21 август, 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( "Документы / result.docx")

Пользователь:xxx@jp.xxxxx.com

Пароль:YYYYYYY

Прокси сервер:zzz.proxy.zzz.zzzzzzz.com

порт:8080

сообщение об ошибке:

Traceback (последний последний вызов):
Файл "GrabzIt_test.py", строка 54, в <module>
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)
Файл "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", строка 463, в _take
вернуть self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', цитата (self.request.data)))
Файл "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", строка 1307, в HTTPPost
заголовки ['Proxy-Authorization'] = 'Basic' + base64.b64encode (auth)
Файл "C: \ Program Files \ Python36 \ lib \ base64.py", строка 58, в b64encode
encoded = binascii.b2a_base64 (s, новая строка = 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 AM

извините, может быть я установил неправильный прокси.

Я изменил прокси на «http: // the_other_proxy_server: порт», и сообщение об ошибке стало:

Traceback (последний последний вызов):
Файл "GrabzIt_test.py", строка 54, в <module>
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)
Файл "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", строка 463, в _take
вернуть self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', цитата (self.request.data)))
Файл "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", строка 1327, в HTTPPost
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 AM

Вам необходимо указать свое имя пользователя и пароль следующим образом: http://username:password@example.com:12335

Ответ от службы поддержки GrabzIt в среду, август 22, 2018 05: 38: 10 AM

Да, я указал свое имя пользователя и пароль (вопрос в среду, 22, август, 2018, 09: 34: 43 AM), например:

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

имя пользователя - адрес электронной почты (xxx@jp.xxxxx.com), поэтому я изменил на xxx% 40jp.xxxxx.com

но это то же сообщение об ошибке: TypeError: требуется объект, похожий на байты, а не 'str'

Ответ анонимный в среду, 22 Август, 2018 05: 50: 49 AM

Извините, я пропустил ваш предыдущий ответ. Я думаю, что это проблема Python 3, и я выпустил исправление, которое должно устранить эту ошибку. Пожалуйста, вы можете обновить GrabzItClient.py еще раз: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Ответ от службы поддержки GrabzIt в среду, август 22, 2018 06: 40: 47 AM

Я заменил файл python и нашел новое сообщение об ошибке:

Traceback (последний последний вызов):

Файл "GrabzIt_test.py", строка 54, в <module>

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)

Файл "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", строка 232, в _take

вернуть self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', цитата (self.request.data)))

Файл "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", строка 661, в HTTPPost

заголовки ['Proxy-Authorization'] = 'Basic' + encodedAuth

Ошибка типа: должна быть строковой, а не байтовой

Ответ анонимный в среду, 22 Август, 2018 08: 39: 24 AM

Хорошо, мы расшифровали его intо ascii. Мы не используем Python 3, поэтому он нас поразил. Пожалуйста, обновите ваш код здесь: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Поскольку это открытый исходный код, не стесняйтесь отлаживать и вносить любые улучшения, которые вы хотите, в Github. Поскольку у нас нет доступа к вашей настройке.

Ответ от службы поддержки GrabzIt в среду, август 22, 2018 09: 22: 01 AM

Большое спасибо за вашу помощь.

OSError: Ошибка подключения к туннелю: требуется проверка подлинности прокси 407

Я постараюсь отлаживать.

Ответ анонимный в среду, 22 Август, 2018 10: 23: 31 AM

Мы думаем, что знаем, в чем проблема, однако для этого потребуется переписать часть кода. Поэтому мы свяжемся с вами, когда закончим. Надеюсь, в 24 часов.

Ответ от службы поддержки GrabzIt в среду, август 22, 2018 12: 15 PM

Я считаю, что мы исправили проблему! Вы можете получить последнюю версию здесь: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Ответ от службы поддержки GrabzIt в среду, август 22, 2018 05: 30 PM

Спасибо за ответ.

Новое сообщение об ошибке:

Traceback (последний последний вызов):
Файл "GrabzIt_test.py", строка 54, в <module>
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)
Файл "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", строка 231, в _take
вернуть self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', цитата (self.request.data)))
Файл "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", строка 629, в HTTPPost
h = self._getConnection ()
Файл "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", строка 679, в _getConnection
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 PM

Мы внесли некоторые незначительные улучшения в: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

И протестировали его в Python 2.7, 3.4 и 3.6, и он работает во всех средах, с прокси и без прокси и с авторизованными прокси.

Если он все еще не работает для вас, вам нужно будет отладить код.

Ответ от службы поддержки GrabzIt в четверг, 23, август, 2018, 11: 41: 44 AM

Спасибо за ответ.

Я буду отлаживать мой источник.

Кстати, вы проверяли имя пользователя Email, например xxx@yyy.com?

Ответ от анонимного в четверг, 23 Август, 2018 11: 56: 46 AM

Нет, я не должен был бы быть должным образом закодирован и декодирован, так что, возможно, в этом проблема.

Ответ от службы поддержки GrabzIt в четверг, 23, август, 2018, 11: 59: 36 AM