A nyers Python-socket nem tárgyal proxyt attól, hogy létezik a http_proxy. Egy saját TCP-protokollt beszélő alkalmazáshoz olyan csatolót használjon, amely érti a szolgáltatást a proxy végpontján.

Ha a PySocks már elérhető, hozza létre a kapcsolatot kifejezetten:

import socks

with socks.socksocket() as connection:
    connection.set_proxy(socks.SOCKS5, '203.0.113.10', 1080)
    connection.settimeout(10)
    connection.connect(('example.com', 12345))
    # Exchange the destination protocol here.

Cserélje ki a dokumentációs címet és a célportot. Engedélyezett nyilvános célhoz csak azt követően válasszon jelöltet a SOCKS5-proxylistáról, hogy ellenőrizte, engedélyezi-e az alkalmazás célportját. Ellenőrizze a telepített csomagot, a támogatott módszereket és a végpont követelményeit a PySocks felület alapján.

Az alkalmazás többi része ezen a létrehozott kapcsolaton keresztül váltja protokollját. Ha ez a protokoll TLS-t használ, a proxy tárgyalása után indítsa el, és ellenőrizze a valódi célgépnevet. A proxyhitelesítés létrehozza az útvonalat; nem biztosítja a cél bejelentkezését vagy a titkosítást.

Egy SOCKS-figyelőnek SOCKS-tárgyalásra van szüksége. Egy HTTP-szolgáltatásnak CONNECT-képes csatolóra van szüksége tetszőleges TCP-célhoz, és megtagadhatja a portját. A csatolót a ténylegesen kínált szolgáltatás alapján válassza, ahelyett hogy címet változtatna, és a rossz kézfogást hagyná meg.

Tartsa a cserét helyben. Egy osztály hozzárendelése a socket.socket-hez hatással lehet független importokra és könyvtárakra. Ha egy másik könyvtár birtokolja a socket-létrehozást, használja annak dokumentált kapcsolatgyárát vagy proxybeállítását; egy szótár, amelyet soha nem olvas, nem változtathatja meg azt a kapcsolatot.

Kapcsolódó cikkek