כלים ללכידה ולהמרה של האינטרנט
הקהילה המקוונת של GrabzIt

זרוק שגיאה כשאני מפעיל הדגמה על ידי פיתון

שְׁגִיאָה:

Traceback (השיחה האחרונה אחרונה):

  הקובץ "GrabzItClient.py", שורה 6, ב

    grabzIt.SaveTo("מסמכים / result.docx")

  הקובץ "C: \ תוכנית קבצים \ Python36 \ lib \ site-חבילות \ GrabzIt \ GrabzItClient.py", שורה 235, בתוך SaveTo

    id = עצמי.Save()

  הקובץ "C: \ תוכנית קבצים \ Python36 \ lib \ site-חבילות \ GrabzIt \ GrabzItClient.py", שורה 209, בתוך Save

    obj = self._take (sig, callBackURL)

  הקובץ "C: \ תוכנית קבצים \ Python36 \ lib \ חבילות אתר \ GrabzIt \ GrabzItClient.py", שורה 223, ב _take

    להחזיר self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data))

  הקובץ "C: \ תוכנית קבצים \ Python36 \ lib \ site-חבילות \ GrabzIt \ GrabzItClient.py", שורה 629, ב- HTTPPost

    h.endheaders ()

  הקובץ "C: \ קבצי תוכנית \ Python36 \ lib \ http \ client.py", שורה 1234, בכותרות קצה

    self._send_output (message_body, encode_chunked = encode_chunked)

  הקובץ "C: \ קבצי תוכנית \ Python36 \ lib \ http \ client.py", שורה 1026, ב- _send_output

    self.send (msg)

  הקובץ "C: \ קבצי תוכנית \ Python36 \ lib \ http \ client.py", שורה 964, בשליחה

    self.connect ()

  הקובץ "C: \ קבצי תוכנית \ Python36 \ lib \ http \ client.py", שורה 936, בחיבור

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

  הקובץ "C: \ תוכנית קבצים \ Python36 \ lib \ socket.py", שורה 704, ב- create_connection

    למילואים ב- getaddrinfo (מארח, יציאה, 0, SOCK_STREAM):

  הקובץ "C: \ תוכנית קבצים \ Python36 \ lib \ socket.py", שורה 743, ב- getaddrinfo

    למילואים ב- _socket.getaddrinfo (מארח, נמל, משפחה, סוג, פרוטו, דגלים):

socket.gaierror: [Errno 11001] getaddrinfo נכשל

 

מקור : (התקנתי את GrabzIt וקיבלתי את מפתח היישום ואת סמל היישום)

מייבא GrabzIt יבוא GrabzItClient

 

grabzIt = GrabzItClient.GrabzItClient (מפתח אפליקציה, סודיות יישומים)

grabzIt.HTMLToDOCX(" שלום עולם! ") 

grabzIt.SaveTo("מסמכים / result.docx") 

 

אתה יכול להגיד לי מה עלי לעשות?

נשאל על ידי אנונימי ב -21 באוגוסט 2018

ברוך הבא לקהילה!

בדרך כלל א socket.gaierror: [Errno 11001] getaddrinfo נכשל נגרמת כאשר קוראים לקוד מאחורי חומת אש או פרוקסי. אנא וודא כי לאפליקציה יש גישה ליציאה 80.

ענה GrabzIt Support ב 21 באוגוסט 2018

תודה לך על התשובה.

כן, זו הבעיה של proxy. זה פועל כשאני מחליף את המחשב האחר שאינו Proxy.

איך זה יכול לעבוד עם פרוקסי?

ענה אנונימי ב 21 באוגוסט 2018

זו תהיה תכונה חדשה. אנו בודקים אם נוכל לשנות את לקוח Python כדי לאפשר שימוש בשרתי פרוקסי.

אם זה אפשרי נחזור אליך עם תיקון. אתה יכול ללכת בעצמך אם תרצה שכן כל הלקוחות שלנו הם קוד פתוח: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

ענה GrabzIt Support ב 21 באוגוסט 2018

הוספנו את הפיצ'ר החדש. פשוט הורד את הקובץ GrabzItClient.py והחליף את העותק שלך מכאן: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

לאחר מכן תוכל להגדיר את כתובת ה- proxy של שרת ה- proxy שלך ומשתמש בשיטת SetLocalProxy החדשה, לדוגמה:

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

אנא תן לנו עכשיו איך זה הולך ואנחנו נעשה מהדורה חדשה בקרוב!

ענה GrabzIt Support ב 21 באוגוסט 2018

תודה לך על התשובה.

החלפתי GrabzItClient.py ושינה את המקור שלי:

 

 

grabzIt = GrabzItClient.GrabzItClient (מפתח אפליקציה, סודיות יישומים)

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

grabzIt.HTMLToDOCX(" שלום עולם! ") 

grabzIt.SaveTo("מסמכים / result.docx") 

 

מִשׁתַמֵשׁ:xxx@jp.xxxxx.com

סיסמא:yyyyyyy

שרת פרוקסי:zzz.proxy.zzz.zzzzzzz.com

נָמָל:8080

 

הודעת שגיאה:

Traceback (השיחה האחרונה אחרונה):
  הקובץ "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)
  הקובץ "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", שורה 463, ב _take
    להחזיר self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data))
  הקובץ "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", שורה 1307, ב- HTTPPost
    headers ['Proxy-Autorization'] = 'בסיסי' + base64.b64 קוד (autor)
  הקובץ "C: \ תוכנית קבצים \ Python36 \ lib \ base64.py", שורה 58, בקוד b64
    מקודד = binascii.b2a_base64 (ים, קו חדש = שקר)
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

מצטער, יכול להיות שאני מגדיר שרת proxy שגוי.

שיניתי את ה- proxy ל- "http: // the_other_proxy_server: port" והודעת השגיאה הפכה:

Traceback (השיחה האחרונה אחרונה):
  הקובץ "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)
  הקובץ "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", שורה 463, ב _take
    להחזיר self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data))
  הקובץ "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", שורה 1327, ב- HTTPPost
    h.endheaders ()
  הקובץ "C: \ קבצי תוכנית \ Python36 \ lib \ http \ client.py", שורה 1234, בכותרות קצה
    self._send_output (message_body, encode_chunked = encode_chunked)
  הקובץ "C: \ קבצי תוכנית \ Python36 \ lib \ http \ client.py", שורה 1026, ב- _send_output
    self.send (msg)
  הקובץ "C: \ קבצי תוכנית \ Python36 \ lib \ http \ client.py", שורה 964, בשליחה
    self.connect ()
  הקובץ "C: \ קבצי תוכנית \ Python36 \ lib \ http \ client.py", שורה 940, בחיבור
    self._ מנהרה ()
  הקובץ "C: \ קבצי תוכנית \ Python36 \ lib \ http \ client.py", שורה 919, ב _ מנהרה
    message.strip ()))
סריקת OSE: חיבור המנהרה נכשל: דרוש אימות פרוקסי 407

ענה אנונימי ב 22 באוגוסט 2018

עליך לציין את שם המשתמש והסיסמה שלך כך: http://username:password@example.com:12335

ענה GrabzIt Support ב -22 באוגוסט 2018

כן, ציינתי את שם המשתמש והסיסמה שלי (שאלה ביום רביעי, 22 אוגוסט, 2018 09: 34: 43 AM) כמו:

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

שם משתמש הוא כתובת דוא"ל (xxx@jp.xxxxx.com) אז החלפתי ל-% 40jp.xxxxx.com

אך זו אותה הודעת שגיאה: TypeError: דרוש אובייקט דמוי בתים, לא 'str'

ענה אנונימי ב 22 באוגוסט 2018

סליחה, התגעגעתי לתגובתך הקודמת. אני חושב שזו בעיה של פייתון 3 ושחררתי תיקון שאמור לפתור את השגיאה. בבקשה תוכל לעדכן את GrabzItClient.py שוב מ: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

ענה GrabzIt Support ב -22 באוגוסט 2018

החלפתי את קובץ הפיתון ומצאתי הודעת שגיאה חדשה:

Traceback (השיחה האחרונה אחרונה):

  הקובץ "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)

  הקובץ "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", שורה 232, ב _take

    להחזיר self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data))

  הקובץ "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", שורה 661, ב- HTTPPost

    headers ['Proxy-Autorization'] = 'בסיסי' + encodedAuth

TypeError: חייב להיות str, לא בתים

ענה אנונימי ב 22 באוגוסט 2018

אוקיי, פענחנו את זה into ascii. אנחנו לא משתמשים בפייתון 3, ולכן זה תפס אותנו. אנא עדכן את הקוד שלך מכאן: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

מכיוון שזה קוד פתוח, אל תהסס לבצע ניפוי באגים וביצוע כל השיפורים שתרצה ל- Github. מכיוון שאין לנו גישה להתקנה שלך.

ענה GrabzIt Support ב -22 באוגוסט 2018

רב תודות על עזרתך.

סריקת OSE: חיבור המנהרה נכשל: דרוש אימות פרוקסי 407

אני אנסה לבצע ניפוי באגים. 

ענה אנונימי ב 22 באוגוסט 2018

אנו חושבים שאנו יודעים מה הבעיה, עם זאת זה ידרוש כתיבה מחדש של חלק מהקוד. אז ניצור איתך קשר בסיום. Hopefuly בעוד 24 שעות.

ענה GrabzIt Support ב -22 באוגוסט 2018

אני מאמין שתיקנו את הבעיה! תוכל לקבל את הגרסה האחרונה כאן: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

ענה GrabzIt Support ב -22 באוגוסט 2018

תודה על התשובה.

הודעת שגיאה חדשה:

Traceback (השיחה האחרונה אחרונה):
  הקובץ "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)
  הקובץ "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", שורה 231, ב _take
    להחזיר self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (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 ('הרשאת פרוקסי', 'Basic' + encodedAuth)
  הקובץ "C: \ קבצי תוכנית \ Python36 \ lib \ http \ client.py", שורה 1201, ב- putheader
    העלה את CannotSendHeader ()
http.client.CannotSendHeader

 

ענה אנונימי ב 22 באוגוסט 2018

ביצענו כמה שיפורים קלים ל: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

ובדקנו את זה בפייתון 2.7, 3.4 ו- 3.6 וזה עובד בכל הסביבה, עם ובלי פרוקסי פרווה ועם פרוקסי מורשה.

אם הוא עדיין לא עובד עבורך, תצטרך לבצע באגים בקוד.

ענה GrabzIt Support ב- 23 באוגוסט 2018

תודה על תשובתך.

אני באגים את המקור שלי.

אגב, האם בדקת את שם המשתמש שהוא דוא"ל כמו xxx@yyy.com?

ענה אנונימי ב- 23 באוגוסט 2018

לא, אני לא הייתי צריך לקודד ולפענח כראוי אז אולי זו הבעיה.

ענה GrabzIt Support ב- 23 באוגוסט 2018