Имам проблеми със свързването с интернет с помощта на 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)