سوالات سے پوچھیں کہ ویب صفحات یا HTML کو کس طرح تبدیل یا تبدیل کریں into تصاویر ، CSV ، PDF یا DOCX دستاویزات کے ساتھ ساتھ ویڈیوز کو تبدیل کرنے کا طریقہ بھی intاے متحرک GIF's ہمارے API کا استعمال کرتے ہوئے۔
خرابی:
ٹریس بیک (حالیہ کال آخری بار):
فائل "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)
فائل "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', quote(self.request.data)))
فائل "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py"، لائن 629، HTTP پوسٹ میں
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 میں
getaddrinfo (میزبان، پورٹ، 0، SOCK_STREAM):
فائل "C:\Program Files\Python36\lib\socket.py"، لائن 743، getaddrinfo میں
_socket.getaddrinfo (میزبان، بندرگاہ، خاندان، قسم، پروٹو، جھنڈے):
socket.gaierror: [Errno 11001] getaddrinfo ناکام ہوگیا۔
ماخذ: (میں نے GrabzIt انسٹال کیا اور درخواست کی کلید اور درخواست کا راز حاصل کیا)
GrabzIt سے GrabzItClient درآمد کریں۔
grabzIt = GrabzItClient.GrabzItClient(درخواست کی کلید، درخواست کا راز)
grabzIt.HTMLToDOCX(" ہیلو ورلڈ! ")
grabzIt.SaveTo("documents/result.docx")
کیا آپ مجھے بتا سکتے ہیں کہ مجھے کیا کرنا چاہیے؟
کمیونٹی میں خوش آمدید!
عام طور پر a socket.gaierror: [Errno 11001] getaddrinfo ناکام ہوگیا۔ اس وقت ہوتا ہے جب کوڈ کو فائر وال یا پراکسی کے پیچھے سے بلایا جاتا ہے۔ براہ کرم یقینی بنائیں کہ ایپلیکیشن کو پورٹ 80 تک رسائی حاصل ہے۔
جواب دینے کا شکریہ.
ہاں، یہ پراکسی کا مسئلہ ہے۔ یہ ٹھیک چلتا ہے جب میں دوسرے پی سی کو تبدیل کرتا ہوں جس میں پراکسی نہیں ہے۔
یہ پراکسی کے ساتھ کیسے کام کر سکتا ہے؟
یہ ایک نیا فیچر ہوگا۔ ہم تلاش کر رہے ہیں کہ کیا ہم پراکسی سرورز کو استعمال کرنے کے لیے Python کلائنٹ کو تبدیل کر سکتے ہیں۔
اگر یہ ممکن ہوا تو ہم آپ کے پاس ایک حل کے ساتھ واپس جائیں گے۔ اگر آپ چاہیں تو آپ خود جا سکتے ہیں کیونکہ ہمارے تمام کلائنٹس اوپن سورس ہیں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
ہم نے نیا فیچر شامل کیا ہے۔ بس GrabzItClient.py فائل ڈاؤن لوڈ کریں اور اپنی کاپی یہاں سے تبدیل کریں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
اس کے بعد آپ نئے SetLocalProxy طریقہ کو استعمال کرتے ہوئے اپنے پراکسی سرور کا پراکسی یو آر ایل سیٹ کر سکتے ہیں، مثال کے طور پر:
grabzIt.SetLocalProxy("http://123.123.123.123:21231")
براہ کرم ہمیں اب بتائیں کہ یہ کیسے جاتا ہے اور ہم جلد ہی ایک نئی ریلیز کریں گے!
جواب دینے کا شکریہ.
میں نے بدل دیا۔ GrabzItClient.py اور میرا ماخذ تبدیل کر دیا:
grabzIt = GrabzItClient.GrabzItClient(درخواست کی کلید، درخواست کا راز)
grabzIt.SetLocalProxy("http://xxx@jp.xxxxx.com:yyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080")
grabzIt.HTMLToDOCX(" ہیلو ورلڈ! ")
grabzIt.SaveTo("documents/result.docx")
صارف:xxx@jp.xxxxx.com
پاس ورڈ:yyyyyy
پراکسی سرور: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)
فائل "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، HTTP پوسٹ میں
ہیڈر['Proxy-Authorization'] = 'بنیادی' + base64.b64encode(auth)
فائل "C:\Program Files\Python36\lib\base64.py"، لائن 58، b64encode میں
encoded = binascii.b2a_base64(s, newline=False)
TypeError: بائٹس جیسی چیز درکار ہے، 'str' کی نہیں۔
ایک ہی غلطی کا پیغام یہاں تک کہ میں نے تبدیل کیا ہے۔ سیٹ لوکل پراکسی سے "http://xxx@jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"کرنے کے لئے "http://xxx%40jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"
معذرت، ہو سکتا ہے میں نے غلط پراکسی سیٹ کر دی ہو۔
میں نے پراکسی کو "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)
فائل "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، HTTP پوسٹ میں
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 پراکسی توثیق درکار ہے۔
آپ کو اپنا صارف نام اور پاس ورڈ اس طرح بتانا ہوگا: http://username:password@example.com:12335
ہاں، میں نے اپنا صارف نام اور پاس ورڈ بتا دیا (بدھ، 22 اگست، 2018 09:34:43 AM) جیسے:
http://username:password@example.com:12335
صارف نام ای میل ایڈریس ہے (xxx@jp.xxxxx.com) لہذا میں نے xxx%40jp.xxxxx.com میں تبدیل کر دیا
لیکن یہ وہی غلطی کا پیغام ہے: TypeError: بائٹس جیسی چیز کی ضرورت ہے، 'str' نہیں
معذرت، میں نے آپ کا پچھلا جواب یاد کیا۔ میرے خیال میں یہ ایک ازگر 3 کا مسئلہ ہے اور اس نے ایک فکس جاری کیا ہے جس سے غلطی کو حل کرنا چاہئے۔ براہ کرم آپ GrabzItClient.py کو دوبارہ یہاں سے اپ ڈیٹ کر سکتے ہیں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
میں نے ازگر کی فائل کو تبدیل کیا اور نیا ایرر میسج ڈھونڈا۔
ٹریس بیک (حالیہ کال آخری بار):
فائل "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، HTTP پوسٹ میں
headers['Proxy-Authorization'] = 'بنیادی' + encodedAuth
TypeError: str ہونا چاہیے، بائٹس نہیں۔
ٹھیک ہے، ہم نے اسے ڈی کوڈ کر لیا ہے۔ into ascii. ہم Python 3 استعمال نہیں کر رہے ہیں، یہی وجہ ہے کہ اس نے ہمیں پکڑ لیا۔ براہ کرم یہاں سے اپنا کوڈ اپ ڈیٹ کریں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
چونکہ یہ اوپن سورس ہے، اس لیے بلا جھجھک ڈیبگ کریں اور گیتھب میں کسی بھی بہتری کا ارتکاب کریں۔ چونکہ ہمیں آپ کے سیٹ اپ تک رسائی نہیں ہے۔
آپ کی مدد کا بہت شکریہ.
OSError: ٹنل کنکشن ناکام ہو گیا: 407 پراکسی توثیق درکار ہے۔
میں ڈیبگ کرنے کی کوشش کروں گا۔
ہمارا خیال ہے کہ ہم جانتے ہیں کہ مسئلہ کیا ہے، تاہم اس کے لیے کچھ کوڈ کو دوبارہ لکھنے کی ضرورت ہوگی۔ تو ہم آپ سے رابطہ کریں گے۔ امید ہے 24 گھنٹے میں۔
مجھے یقین ہے کہ ہم نے مسئلہ حل کر لیا ہے! آپ یہاں تازہ ترین ورژن حاصل کرسکتے ہیں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
جواب کا شکریہ.
نیا غلطی کا پیغام:
ٹریس بیک (حالیہ کال آخری بار):
فائل "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، HTTP پوسٹ میں
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، پٹ ہیڈر میں
اٹھائیں CannotSendHeader()
http.client.CannotSendHeader
ہم نے اس میں کچھ معمولی اصلاحات کی ہیں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
اور اسے Python 2.7، 3.4 اور 3.6 میں آزمایا ہے اور یہ تمام ماحول میں، پراکسیز کے ساتھ اور اس کے بغیر اور مجاز پراکسیز کے ساتھ کام کرتا ہے۔
اگر یہ اب بھی آپ کے لیے کام نہیں کر رہا ہے، تو آپ کو کوڈ کو ڈیبگ کرنے کی ضرورت ہوگی۔
جواب تحریر کرنے کا شکریہ.
میں اپنے ماخذ کو ڈیبگ کروں گا۔
ویسے، کیا آپ نے صارف نام کا تجربہ کیا ہے جو کہ xxx@yyy.com کی طرح ای میل ہے؟
نہیں، میں نے ایسا نہیں کیا کہ اسے صحیح طریقے سے انکوڈ اور ڈی کوڈ کرنے کی ضرورت ہو گی تو شاید یہی مسئلہ ہے۔