/ / इंटरनेट से जुड़ना? - अजगर, अजगर 3.x, ctypes, wininet

इंटरनेट से कनेक्ट हो रहा है? - अजगर, अजगर-3.x, ctypes, wininet

मैं अजगर के उपयोग से इंटरनेट से जुड़ने के मुद्दे पर हूँ।

मैं एक कॉर्पोरेट नेटवर्क पर हूं जो प्रॉक्सी सेट करने के लिए PAC फ़ाइल का उपयोग करता है। अब यह ठीक रहेगा यदि मुझे पीएसी मिल जाए और मुझे जो चाहिए, वह मिल जाए, लेकिन मैं नहीं कर सकता।

विषमता:

आर wininet और .External (C_download, ...) के माध्यम से फ़ाइलों को डाउनलोड करने के लिए इंटरनेट से जुड़ सकता है, इसलिए मुझे पता है कि यह संभव है और जब मैं करता हूं:

import ctypes

wininet = ctypes.windll.wininet
flags = ctypes.wintypes.DWORD()
connected = wininet.InternetGetConnectedState(ctypes.byref(flags), None)
print(connected, hex(flags.value))

मुझे मिलता है: 1 0x12 तो मेरे पास एक कनेक्शन उपलब्ध है, लेकिन एक बार जब मैं wininet I के अन्य कार्यों का उपयोग करने की कोशिश करता हूं तो मैं लगातार त्रुटि कार्यों के साथ मिलता हूं जैसे:

AttributeError: function "InternetCheckConnection" not found

और यह बहुत अधिक किसी भी अन्य फ़ंक्शन के लिए जाता है, लेकिन इस dir (wininet) में एकमात्र नामित फ़ंक्शन के रूप में मुझे आश्चर्य नहीं होता है।

विजेता का दृष्टिकोण स्पष्ट रूप से काम कर सकता है, लेकिन मुझे नहीं पता कि इसके साथ कैसे आगे बढ़ना है [विशेष रूप से यह देखते हुए कि मैं केवल काम में विंडोज का उपयोग करता हूं]।

उत्तर:

जवाब के लिए 0 № 1

"ठीक है, इतना घटिया शब्द - चलो बस इसे बदलने के लिए: एक वेब पेज के लिए एक कनेक्शन खोलने और pththon का उपयोग करके अपनी सामग्री प्राप्त

आप की तरह लगता है वास्तव में जरूरत है BeautifulSoup तथा अनुरोध। यहाँ एक त्वरित है उदाहरण उनमें से एक वेबपेज का पता लगाने के लिए इस्तेमाल किया जा रहा है


जवाब के लिए 0 № 2

पहले, मैं करूंगा दृढ़ता से इंस्टॉल करने का सुझाव दें requests मॉड्यूल। पायथन पर इसके बिना HTTP करना बहुत दर्दनाक है।

इसके अनुसार यह जवाब आपको डाउनलोड करने की आवश्यकता है wpad.dat मेजबान से wpad। यह एक टेक्स्ट फाइल है जिसमें प्रॉक्सी एड्रेस होता है।

एक बार जब आप प्रॉक्सी सेटिंग्स जानते हैं, तो आप कॉन्फ़िगर कर सकते हैं requests उनका उपयोग करने के लिए:

import requests

proxies = {
"http": "http://10.10.1.10:3128",
"https": "http://10.10.1.10:1080",
}

requests.get("http://example.org", proxies=proxies)