Ich möchte alle Python-Datenverkehr über einen HTTP-Proxy-Server übergeben, überprüft ich urlib2 und fordert Pakete zum Beispiel, können sie für die Verwendung von Proxys konfiguriert werden, aber wie könnte ich so etwas wie eine systemweite Proxy für Python Proxy-Daten verwenden aus?Wie übertrage ich alle Python-Traffics über einen HTTP-Proxy?
Antwort
Linux-System erste Export die Umgebungsvariablen wie diese
$ export http_proxy="http://<user>:<pass>@<proxy>:<port>"
$ export HTTP_PROXY="http://<user>:<pass>@<proxy>:<port>"
$ export https_proxy="http://<user>:<pass>@<proxy>:<port>"
$ export HTTPS_PROXY="http://<user>:<pass>@<proxy>:<port>"
oder im Skript, das yo wollen einen Proxy-Trog passieren
import os
proxy = 'http://<user>:<pass>@<proxy>:<port>'
os.environ['http_proxy'] = proxy
os.environ['HTTP_PROXY'] = proxy
os.environ['https_proxy'] = proxy
os.environ['HTTPS_PROXY'] = proxy
#your code goes here.............
dann Python-Skript laufen
$ python my_script.py
UP DATUM
Ein können Sie auch redsocks whith dieses Tool verwenden Sie lautlos alle TCP-Verbindungen zu einem PROXY mit oder ohne Authentifizierung umleiten. Aber Sie müssen aufpassen, denn es ist für alle Verbindungen nicht nur für die Python.
Windows-Systeme Sie Tools wie freecap, proxifier, proxycap und konfigurieren laufen hinter dem Python-Executable
tolle Antwort ... danke – Nickal
@efirvida Es funktioniert nicht in meinem Fall: https://stackoverflow.com/questions/48676514/how-to-resolve-proxy-error-in-reading-writing- to-hdfs-using-python Ich stieß auf Ihre Antwort, nachdem ich diese Frage gepostet habe. Ich habe versucht, die Proxies zu exportieren, wie Sie hier sagen, und dann os.environ ... Aber der Fehler bleibt bestehen. – Kristada673
Zwar verwenden können, ist dies nicht genau das, was Sie suchen, aber wenn Sie wissen, die programmatische Quelle all Ihrer Netzwerkverkehr in Ihrem Python-Code, können Sie diese Proxy-Wrapping in den Code selbst tun. mit dem PySocks
Modul in dem folgenden Link Eine reine Python-Lösung wird vorgeschlagen:
https://github.com/httplib2/httplib2/issues/22
import httplib2
# detect presense of proxy and use env varibles if they exist
pi = httplib2.proxy_info_from_environment()
if pi:
import socks
socks.setdefaultproxy(pi.proxy_type, pi.proxy_host, pi.proxy_port)
socks.wrapmodule(httplib2)
# now all calls through httplib2 should use the proxy settings
httplib2.Http()
Nun machte jeden Anruf verwendete, wird diese Proxy-Einstellungen verwenden. Sie sollten in der Lage sein, jedes Netzwerkmodul mit Sockets zu umbrechen, um diesen Proxy zu verwenden.
https://github.com/Anorov/PySocks
Sie erwähnen es, dass dies nicht zu empfehlen, aber es scheint für mich arbeiten gut zu werden.
- 1. Wie übertrage ich alle Werte in einem verschachtelten Hash?
- 2. Wie übertrage ich Daten über den UI-View (UI-Router)?
- 3. Wie übertrage ich ein Verzeichnis mit mehreren Unterverzeichnissen über FTP?
- 4. Wie übertrage ich einen Git Repo auf meinen anderen Computer?
- 5. Wie übertrage ich den Inhalt eines JLabels auf einen anderen?
- 6. Wie übertrage ich meine MySQL-Datenbank auf einen anderen Computer?
- 7. Wie übertrage ich Werte aus einer Ansicht?
- 8. Wie übertrage ich ein überzeugendes Skydome?
- 9. Wie übertrage ich den Besitz von Strings?
- 10. Wie übertrage ich Dateidetails zu Vector?
- 11. Wie übertrage ich mysql table in hive?
- 12. Wie übertrage ich Daten in ein DetailView?
- 13. javafx & fxml: Wie übertrage ich einen Rahmen auf einen Bereich oder ein Label in meiner GUI?
- 14. Wie übertrage ich Videofunktionen von einem CNN zu einem LSTM?
- 15. Wie übertrage ich die Eigenschaften eines anonymen Objekts in C#?
- 16. Go - Verfüge ich über einen Arbeitsbereich für alle Projekte oder über einen Arbeitsbereich pro Projekt?
- 17. Wenn ich Argumente übertrage tröstet es einen Fehler, wenn ich ein leeres Array übertrage tröstet es ein leeres Array
- 18. Wie übertrage ich eine virtuelle Python-Umgebung auf einen anderen Benutzer?
- 19. Wie übertrage ich Fehlerinformationen über eine HTTP-Anforderung in Flex 3?
- 20. Wie übertrage ich eine Liste von Serien an einen Pandas DataFrame?
- 21. Wie übertrage ich alle Zeilen von Dateien, die in der Befehlszeile übergeben werden?
- 22. Wie übertrage ich alle Werte in einem Raster in einer WPF-Anwendung?
- 23. Angular 2: Wie übertrage ich Routenparameter an die Unterroute?
- 24. Swift - Wie übertrage ich von ViewController zu TabBarController
- 25. Wie übertrage ich Daten von der Datenbank zur JSF-Seite?
- 26. Wie übertrage ich nur die Änderungen eines Subrepo?
- 27. Wie übertrage ich meinen Account von admob nach adsense?
- 28. Wie übertrage ich Daten von einem UnitTest zu einem LoadTest?
- 29. Wie übertrage ich die Java-Konsolenausgabe in eine Datei?
- 30. Wie übertrage ich die formatierte Datumszeichenkette von meinem DatePickerFragment?
Was meinen Sie mit systemweitem Proxy und wie konfigurieren Sie es? Wenn es eines gibt, sollten Sie es extrahieren und in urllib2 setzen. – helloV
Ich meine, ich möchte keinen Proxy für nur eine bestimmte Python-Bibliothek (wie Anfragen) verwenden, stattdessen möchte ich alle von Python stammenden Prozesse übergeben, die mein Skript über einen Proxy laufen lassen. – habedi
Ich denke, Sie versuchen, dies aus einer falschen Richtung zu nähern. Wenn Sie etwas wie "System Wide Proxy" benötigen, sollten Sie versuchen, dieses Problem auf Netzwerkebene zu lösen. Ich glaube nicht, dass es systemweite Konfigurationsdateien für urlib oder Anfragen Bibliotheken gibt. – Boris