Der Knoten sollte die Verwendung der Umgebungsvariablen http_proxy unterstützen. Sie ist also plattformübergreifend und funktioniert mit Systemeinstellungen, anstatt eine Konfiguration pro Anwendung zu erfordern.
Unter Verwendung der bereitgestellten Lösungen würde ich Folgendes empfehlen:
Coffeescript
get_url = (url, response) ->
if process.env.http_proxy?
match = process.env.http_proxy.match /^(http:\/\/)?([^:\/]+)(:([0-9]+))?/i
if match
http.get { host: match[2], port: (if match[4]? then match[4] else 80), path: url }, response
return
http.get url, response
Javascript
get_url = function(url, response) {
var match;
if (process.env.http_proxy != null) {
match = process.env.http_proxy.match(/^(http:\/\/)?([^:\/]+)(:([0-9]+))?/i);
if (match) {
http.get({
host: match[2],
port: (match[4] != null ? match[4] : 80),
path: url
}, response);
return;
}
}
return http.get(url, response);
};
Verwendung
Um die Methode zu verwenden, ersetzen Sie einfach http.get. Beispiel: Im Folgenden wird die Indexseite von Google in eine Datei namens test.htm geschrieben:
file = fs.createWriteStream path.resolve(__dirname, "test.htm")
get_url "http://www.google.com.au/", (response) ->
response.pipe file
response.on "end", ->
console.log "complete"