/ / Свързване с интернет? - питон, питон-3.х, ctypes, wininet

Свързване с интернет? - python, python-3.x, ctypes, wininet

Имам проблеми със свързването с интернет с помощта на python.

Аз съм в корпоративна мрежа, която използва PAC файл за задаване на прокси сървъри. Сега това ще е добре, ако мога да намеря и анализирам PAC, за да получа това, от което имам нужда, но не мога.

Странността:

R може да се свърже с интернет, за да изтегля файлове чрез 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, постоянно се срещам с функции за грешки като:

AttributeError: function "InternetCheckConnection" not found

и това важи за почти всяка друга функция на wininet, но това не ме изненадва, тъй като единствената назована функция в dir (wininet) е InternetGetConnectedState.

Подходът на wininet очевидно работи, но нямам представа как да го направя [особено като се има предвид, че използвам само Windows в работата].

Отговори:

0 за отговор № 1

"ОК, толкова лоша формулировка - нека просто променим това, за да: отвори връзка към уеб страница и да получи нейното съдържание с помощта на python"

Звучи като всъщност се нуждаете BeautifulSoup и Исканията, Ето бързо пример от тях се използват за проучване на уеб страница


0 за отговор № 2

Първо, бих силно предложи да инсталирате requests модул. Правенето на HTTP без него на Python е доста болезнено.

Според този отговор трябва да изтеглите 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)