
Praktische Übungen mit Python zum Aufbau eines Proxy-Servers
Vor kurzem haben viele Freunde gefragt, wie man einen Proxy-Server zu bauen, um zu verwenden, vor allem, um die Datenerfassung, Multi-Account-Management dieser Unternehmen zu tun. Heute werden wir Python verwenden, um einen Proxy-Server zu bauen.einfach und praktischvon HTTP-Proxys, wobei der Schwerpunkt auf der Verwendung dieser Proxys in Verbindung mit den Premium-Proxy-IPs von ipipgo liegt.
Bereiten Sie Ihre Sachen vor.
Stellen Sie zunächst sicher, dass Sie Python 3.6 oder höher auf Ihrem Computer installiert haben. Sie müssen eine Bibliothek eines Drittanbieters namensproxy.pyDieses Programm ist speziell dafür ausgelegt, Proxy-Dienste zu stören. Geben Sie dies in die Befehlszeile ein:
pip install proxy.py
Wenn die Installation stecken bleibt, fügen Sie bitte-i https://pypi.tuna.tsinghua.edu.cn/simpleÄndern Sie die inländischen Quellen. Ich habe einen Tipp hier, denken Sie daran, auf die neueste Version nach der Installation zu aktualisieren, einige ältere Versionen haben seltsame Bugs.
Basismodell Agentenkonstruktion
Eine neue.basic_proxy.pyDatei, schreiben Sie diese Codes unten:
from proxy import Proxy
def main(): proxy = Proxy(port=8866)
proxy = Proxy(port=8866)
proxy.start()
if __name__ == '__main__'.
main()
Nach der Ausführung befindet sich Ihr Proxyserver im VerzeichnisAnschluss 8866Läuft. Füllen Sie die Einstellungen Ihres Browsers aus, wenn Sie ihn verwenden127.0.0.1:8866Es wird funktionieren. Aber es gibt zwei Probleme mit dieser einfachen Version: Erstens wird die lokale IP verwendet, und zweitens kann sie ohne Authentifizierung leicht gestohlen werden.
Erweiterte Version: Dynamische IP + Authentifizierung
Dies ist der richtige Zeitpunkt, um dieProxy-Dienste für ipipgoEs ist eine gute Idee, ein kostenloses Testpaket zu erwerben. Gehen Sie zuerst auf die Website des Anbieters und holen Sie sich einen API-Schlüssel, das kostenlose Testpaket reicht zum Testen aus. Schreiben Sie den Code um:
importiert Anfragen
from proxy importieren Proxy, ProxyHandler
class CustomHandler(ProxyHandler).
def get_upstream_proxy(self).
Holt eine neue IP für jede Anfrage
ip_data = requests.get(
"https://api.ipipgo.com/get-proxy",
params={"type": "http", "count": 1}
).json()
return (ip_data['ip'], ip_data['port'])
def handle_request(self, data).
Hinzufügen einer einfachen Authentifizierung
if b'Secret-Key: mypassword' not in data: return self.client.
return self.client.send(b'HTTP/1.1 403 Forbiddenrr')
Proxy(port=8866, handler=CustomHandler).start()
Es gibt drei Höhepunkte in dieser Veröffentlichung:
1. jede Anfrage automatisch ändern ipipgo IP, keine Angst vor blockiert werden!
2. muss mit einem bestimmten Schlüsselkopf verwendet werden.
3. zu ipipgos großem Versteck von Proxys gehen und die echte IP gründlicher verstecken
Konfigurationsparameter aus der realen Welt
Diese Konfigurationstabelle wird für die Abstimmung empfohlen:
| Parameter | empfohlener Wert | Anweisungen |
|---|---|---|
| Timeout | 15 Sekunden. | Zu kurz, um versehentlich zu töten. |
| Gleichzeitigkeit | 50 | Anpassung der Serverkonfiguration |
| IP-Ersatzstrategie | Nach Anzahl der Anfragen | IP-Wechsel alle 20 Anfragen |
| Log-Stufe | Warnung | Speicherplatz sparen |
Ein Leitfaden für häufige Fallstricke
F: Was soll ich tun, wenn ich nicht immer eine Verbindung zum Agenten herstellen kann?
A: Prüfen Sie zunächst, ob die Firewall einen freigegebenen Port hat, und versuchen Sie dann den Befehl curl.curl -x http://localhost:8866 http://ip.ipipgo.com/ipPrüfen Sie, ob die zurückgegebene IP die von ipipgo ist.
F: Wie kam es zu der plötzlichen Verlangsamung?
A: Es kann sich um ein lokales Netzwerkproblem handeln, oder der ausgewählte IP-Knoten hat eine hohe Last. Es wird empfohlen, einen IP-Bewertungsmechanismus in den Code einzufügen, um langsame Knoten automatisch zu eliminieren.
F: Wie verhindere ich, dass jemand stiehlt?
A: Zusätzlich zur Schlüsselauthentifizierung im Code ist es besser, die Server-Firewall so einzustellen, dass nur bestimmte IPs auf den Proxy-Port zugreifen können.
Warum ipipgo?
Einen IP-Pool selbst zu verwalten ist zu viel Arbeit, einen Server zu kaufen, die Verifizierung durchzuführen, sich mit Verboten zu beschäftigen... all diese lästigen Dinge hat ipipgo für Sie übernommen. Der eigentliche Test ihres Hauses drei Vorteile:
– volle Deckung300+ Stadtrouten landesweit
– reaktionsschnellDurchschnittliche Verzögerung <80ms
– protokollreichVollständige Unterstützung von HTTP/HTTPS/Socks5
Vor allem bei langfristigen Datenerhebungen ist es empfehlenswert, direkt zu derenDynamische Wohn-IPEs simuliert das reale Nutzerverhalten und ist nicht leicht zu identifizieren. Neue Nutzer registrieren sich, um einen 2G-Traffic-Test zu erhalten, der ausreicht, um die Wirkung zu messen.
Ein paar abschließende Worte.
Proxy-Server-Gebäude ist nicht schwer zu sagen, aber langfristig stabilen Betrieb müssen auch die Aufmerksamkeit auf zu zahlen:
1. regelmäßige Aktualisierung der Authentifizierungsschlüssel
2. die Überwachung der IP-Nutzung
3. die Einrichtung von Verkehrswarnungen
4. die Reaktivierung von Diensten während der morgendlichen Hauptverkehrszeit
Wenn du es nicht herausfinden kannst, hat ipipgo eine fertige Proxy-API, die du direkt aufrufen kannst, um dir die Wartung zu ersparen. Allerdings, wenn Sie selbst spielen, sollten Sie keine großen Probleme nach der obigen Anleitung haben. Encountered Marmelade Ort, ihre technischen Kundendienst Antwort ist ziemlich schnell, können Sie auf der offiziellen Website zu gehen, um Online-Support zu finden.

