2016-04-18 19 views

Antwort

2

Methode auf OSX Yosemite läuft 1

Wir können awk verwenden, um die Ausgabe von scutil und extrahieren Sie die Proxy-Konfiguration zu analysieren. Der folgende Ausschnitt funktioniert der Trick:

$ export http_proxy=`scutil --proxy | awk '\ 
/HTTPEnable/ { enabled = $3; } \ 
/HTTPProxy/ { server = $3; } \ 
/HTTPPort/ { port = $3; } \ 
END { if (enabled == "1") { print "http://" server ":" port; } }'` 
$ export HTTP_PROXY="${http_proxy}" 

Dieses Skript für HTTPEnable sieht, HTTPProxy und HTTPPort in der Ausgabe von scutil. Wenn der Proxy aktiviert ist, druckt das Skript die Proxy-URL aus und legt sie als Umgebungsvariable http_proxy fest. Wenn der Proxy nicht aktiviert ist, setzt das Skript http_proxy auf eine leere Zeichenfolge. In der letzten Zeile wird auch die Umgebungsvariable HTTP_PROXY festgelegt, da dies von einigen Befehlszeilenanwendungen verwendet wird.

Wenn Sie dieses Snippet in Ihre .bash_profile-Datei einfügen, wird sichergestellt, dass Ihr Proxy beim Umschalten zwischen kabelgebundenen und drahtlosen Netzwerken automatisch konfiguriert bleibt.

Methode 2

Sie könnten versuchen, einen Bash-Anmeldeskript erstellen, die eine der folgenden Verwendungen von „network“ verwendet die aktuellen Proxy-Liste, und dann die Adresse des Servers analysieren, und es auf den aktuellen Terminal-Sitzung:

networksetup -getftpproxy <servicename> 
networksetup -getwebproxy <servicename> 
networksetup -getsecurewebproxy <servicename> 
networksetup -getstreamingproxy <servicename> 
networksetup -getgopherproxy <servicename> 
networksetup -getsocksfirewallproxy <servicename> 

Es können auch andere Verwendungen des network Tool sein, dass Sie die spezifischen Proxy geben können Sie verwenden, nur nachschlagen „Mann network“, um zu sehen, alle Details und Verwendungen.

Methode 3 Das Terminal verwendet keine Proxyeinstellungen, die im Bereich Netzwerkeinstellungen konfiguriert wurden, da keine Verbindung hergestellt wird. Mit dem Terminal können Sie Befehle auslösen, die das Netzwerk auf verschiedene Arten verwenden.

export http_proxy="username:[email protected]:port" 

Referenz: https://dmorgan.info/posts/mac-network-proxy-terminal/

0

Ich schrieb einen little tool, die genau tut das. Die Verwendung ist unkompliziert.

  1. Kompilieren Sie es mit xCode.
  2. Anzahl:

    eval `./path/to/export-proxies` 
    

    zu Ihrem .profile, .bashrc oder .bash_profile.

Es werden alle häufig verwendeten Proxy-Umgebungsvariablen ($HTTP_PROXY, $http_proxy, $HttpProxy, etc.) für alle Protokolle (HTTP, FTP, SOCKS) einschließlich aller Ausnahmen wie in der OS X Systemsteuerung definiert.

Vorschläge und Verbesserungen sind auch immer willkommen;)

EDIT ich die Einstellungen statt sie zu lesen gerade gesehen, die Sie festlegen möchten. Ich habe noch keinen Weg gefunden, dies zu tun. Würde aber gerne anders erfahren ...

Verwandte Themen