वेब पर कब्जा और परिवर्तित करने के लिए उपकरण
GrabzIt के ऑनलाइन समुदाय

जब मैं अजगर द्वारा डेमो चलाता हूं तो त्रुटि फेंको

त्रुटि:

ट्रेसबैक (सबसे हालिया कॉल अंतिम):

  फ़ाइल "GrabzItClient.py", लाइन 6, इन

    grabzIt।SaveTo( "दस्तावेज / result.docx")

  फ़ाइल "C: \ Program Files \ Python36 \ lib \ साइट-संकुल \ GrabzIt \ GrabzItClient.py", लाइन 235, में SaveTo

    इद = स्व।Save()

  फ़ाइल "C: \ Program Files \ Python36 \ lib \ साइट-संकुल \ GrabzIt \ GrabzItClient.py", लाइन 209, में Save

    obj = self._take (sig, callBackURL)

  फ़ाइल "C: \ Program Files \ Python36 \ lib \ साइट-संकुल \ 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 \ साइट-संकुल \ 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 (एमएसजी)

  फ़ाइल "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 में

    getaddrinfo (होस्ट, पोर्ट, 0, SOCK_STREAM) में रेस के लिए:

  फ़ाइल "C: \ Program Files \ Python36 \ lib \ socket.py", लाइन 743, getaddrinfo में

    Res के लिए _socket.getaddrinfo (होस्ट, पोर्ट, परिवार, प्रकार, प्रोटो, झंडे) में:

socket.gaierror: [Errno 11001] getaddrinfo विफल

 

स्रोत installed (मैंने GrabzIt स्थापित किया है और आवेदन कुंजी और आवेदन SECRET मिला है)

GrabzIt आयात से GrabzItClient

 

GrabzIt = GrabzItClient.GrabzItClient (आवेदन कुंजी, आवेदन SECRET)

grabzIt।HTMLToDOCX( " नमस्ते दुनिया! ") 

grabzIt।SaveTo( "दस्तावेज / result.docx") 

 

क्या आप मुझे बता सकते हैं कि मुझे क्या करना चाहिए?

21 अगस्त 2018 को अनाम द्वारा पूछा गया

समुदाय के लिए आपका स्वागत है!

आमतौर पर ए socket.gaierror: [Errno 11001] getaddrinfo विफल तब होता है जब कोड को फ़ायरवॉल या प्रॉक्सी के पीछे से बुलाया जा रहा हो। कृपया सुनिश्चित करें कि आवेदन में 80 को पोर्ट करने की सुविधा है।

21 अगस्त 2018 को GrabzIt सपोर्ट द्वारा उत्तर दिया गया

जवाब के लिए धन्यवाद।

हां, यह प्रॉक्‍सी की समस्‍या है। जब मैं दूसरे पीसी को बदलता हूं तो यह ठीक चलता है।

यह प्रॉक्सी के साथ कैसे काम कर सकता है?

21 अगस्त 2018 को अनाम द्वारा उत्तर दिया गया

यह एक नई सुविधा होगी। हम देख रहे हैं कि क्या हम प्रॉक्सी सर्वर का उपयोग करने में सक्षम करने के लिए पायथन क्लाइंट को बदल सकते हैं।

यदि यह संभव है तो हम आपको एक फिक्स के साथ वापस मिलेंगे। यदि आपके सभी ग्राहक खुले स्रोत हैं, तो आप स्वयं जा सकते हैं: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

21 अगस्त 2018 को GrabzIt सपोर्ट द्वारा उत्तर दिया गया

हमने नई सुविधा जोड़ी है। बस GrabzItClient.py फ़ाइल डाउनलोड करें और अपनी प्रति यहां से बदलें: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

आप उदाहरण के लिए, नए SetLocalProxy विधि का उपयोग करते हुए अपने प्रॉक्सी सर्वर के प्रॉक्सी यूआरएल को सेट कर सकते हैं:

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

कृपया हमें अभी बताएं कि यह कैसे चलता है और हम जल्द ही एक नई रिलीज करेंगे!

21 अगस्त 2018 को GrabzIt सपोर्ट द्वारा उत्तर दिया गया

जवाब के लिए धन्यवाद।

मैंने प्रतिस्थापित कर दिया GrabzItClient.py और मेरे स्रोत को बदल दिया:

 

 

GrabzIt = GrabzItClient.GrabzItClient (आवेदन कुंजी, आवेदन SECRET)

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

 

त्रुटि संदेश:

ट्रेसबैक (सबसे हालिया कॉल अंतिम):
  फ़ाइल "GrabzIt_test.py", लाइन 54, इन
    grabzIt।SaveTo( "Result.docx")
  फ़ाइल "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", लाइन 487, में SaveTo
    इद = स्व।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 में
    हेडर ['प्रॉक्सी-प्राधिकरण'] = 'बेसिक' + base64.b64encode (मौखिक)
  फ़ाइल "C: \ Program Files \ Python36 \ lib \ base64.py", लाइन 58, b64encode में
    एन्कोडेड = बिनसिसी.बीएक्सएनयूएमएक्सए_बसेएक्सएनयूएमएक्स (एस, न्यूलाइन = गलत)
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 को गुमनाम द्वारा उत्तर दिया गया

क्षमा करें, मैं गलत प्रॉक्सी सेट कर सकता हूं।

मैंने प्रॉक्सी को "http: //_other_proxy_server: port" में बदल दिया और त्रुटि संदेश बन गया:

ट्रेसबैक (सबसे हालिया कॉल अंतिम):
  फ़ाइल "GrabzIt_test.py", लाइन 54, इन
    grabzIt।SaveTo( "Result.docx")
  फ़ाइल "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", लाइन 487, में SaveTo
    इद = स्व।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 (एमएसजी)
  फ़ाइल "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 को गुमनाम द्वारा उत्तर दिया गया

आपको अपना उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करने की आवश्यकता है: http://username:password@example.com:12335

22 अगस्त 2018 को GrabzIt सपोर्ट द्वारा उत्तर दिया गया

हां, मैंने अपना उपयोगकर्ता नाम और पासवर्ड (बुधवार, 22 अगस्त, 2018 09: 34: 43 AM) को निर्दिष्ट किया है:

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

उपयोगकर्ता नाम ईमेल पता (xxx@jp.xxxxx.com) है इसलिए मैं xxx% 40jp.xxxxx.com में बदल गया

लेकिन यह एक ही त्रुटि संदेश है: TypeError: बाइट्स जैसी वस्तु की आवश्यकता है, 'str' नहीं

22 अगस्त 2018 को गुमनाम द्वारा उत्तर दिया गया

क्षमा करें, मुझे आपकी पिछली प्रतिक्रिया याद आ गई। मुझे लगता है कि यह एक पायथन 3 मुद्दा है और इसने एक फिक्स जारी किया है जो त्रुटि को हल करना चाहिए। कृपया आप फिर से GrabzItClient.py को अपडेट कर सकते हैं: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

22 अगस्त 2018 को GrabzIt सपोर्ट द्वारा उत्तर दिया गया

मैंने अजगर फ़ाइल को बदल दिया और नया त्रुटि संदेश पाया:

ट्रेसबैक (सबसे हालिया कॉल अंतिम):

  फ़ाइल "GrabzIt_test.py", लाइन 54, इन

    grabzIt।SaveTo( "Result.docx")

  फ़ाइल "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", लाइन 244, में SaveTo

    इद = स्व।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 में

    हेडर्स ['प्रॉक्सी-ऑथराइज़ेशन'] = 'बेसिक' + एन्कोडेडऑथ

TypeError: str होना चाहिए, बाइट नहीं

22 अगस्त 2018 को गुमनाम द्वारा उत्तर दिया गया

ठीक है, हमने इसे डिकोड किया है intओ अस्सी हम पायथन 3 का उपयोग नहीं कर रहे हैं, यही कारण है कि इसने हमें पकड़ा। कृपया यहाँ से अपना कोड अपडेट करें: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

चूंकि यह खुला स्रोत है, इसलिए डिबग करने के लिए स्वतंत्र महसूस करें और आप जीथूब को कोई भी सुधार करना चाहते हैं। जैसा कि हमारे पास आपके सेटअप तक पहुंच नहीं है।

22 अगस्त 2018 को GrabzIt सपोर्ट द्वारा उत्तर दिया गया

आपकी मदद के लिए बहुत धन्यवाद।

OSError: सुरंग कनेक्शन विफल: 407 प्रॉक्सी प्रमाणीकरण आवश्यक

मैं डिबग करने की कोशिश करूंगा। 

22 अगस्त 2018 को गुमनाम द्वारा उत्तर दिया गया

हमें लगता है कि हम जानते हैं कि मुद्दा क्या है, हालांकि इसके लिए कुछ कोड को फिर से लिखना होगा। तो जब हम आपसे संपर्क करेंगे। 24 घंटे में उम्मीद है।

22 अगस्त 2018 को GrabzIt सपोर्ट द्वारा उत्तर दिया गया

मुझे विश्वास है कि हमने इस मुद्दे को तय कर दिया है! आप यहां लेटेस्ट वर्जन प्राप्त कर सकते हैं: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

22 अगस्त 2018 को GrabzIt सपोर्ट द्वारा उत्तर दिया गया

जवाब के लिए धन्यवाद।

नई त्रुटि संदेश:

ट्रेसबैक (सबसे हालिया कॉल अंतिम):
  फ़ाइल "GrabzIt_test.py", लाइन 54, इन
    grabzIt।SaveTo( "Result.docx")
  फ़ाइल "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", लाइन 243, में SaveTo
    इद = स्व।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 ('प्रॉक्सी-प्राधिकरण', 'बेसिक' + एन्कोडेडऑथ)
  फ़ाइल "C: \ Program Files \ Python36 \ lib \ http \ client.py", लाइन 1201, पुथियार में
    CannotSendHeader बढ़ाएँ ()
http.client.CannotSendHeader

 

22 अगस्त 2018 को गुमनाम द्वारा उत्तर दिया गया

हमने कुछ मामूली सुधार किए हैं: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

और इसे पायथन एक्सएनयूएमएक्स, एक्सएनयूएमएक्स और एक्सएनयूएमएक्स में परीक्षण किया है और यह सभी एन्वायरमेंट्स में, प्रोक्सिज़ के साथ और अधिकृत प्रोक्सीज़ के साथ और बिना काम करता है।

यदि यह अभी भी आपके लिए काम नहीं कर रहा है, तो आपको कोड को डीबग करना होगा।

23 अगस्त 2018 को GrabzIt सपोर्ट द्वारा उत्तर दिया गया

जवाब देने के लिए धन्यवाद।

मैं अपने स्रोत को डिबग करूंगा।

वैसे, क्या आपने उस उपयोगकर्ता नाम का परीक्षण किया है जो xxx@yyy.com की तरह ईमेल है?

23 अगस्त 2018 को अनाम द्वारा उत्तर दिया गया

नहीं, मैंने नहीं सोचा था कि ठीक से इनकोडिंग और डिकोड करना होगा ताकि शायद यही समस्या हो।

23 अगस्त 2018 को GrabzIt सपोर्ट द्वारा उत्तर दिया गया