GREENHORN COMPUTER-FORUM - Freundliche Hilfe für PC-Einsteiger und Fortgeschrittene

    

 · Home · Impressum & Datenschutz · Suche

Seiten mit Postings: 1 2

zum Seitenende

 Forum Index —› Software, Internet —› Automatische Proxy-Konfiguration
 


Autor Mitteilung
Koal
Boardmeister

Beiträge: 720


 

Gesendet: 07:48 - 05.11.2007

Endlich habe ich es geschafft!
Ist zwar verdammt kompliziert (zumindest für micht) aber es klappt wie ich es mir vorgestellt habe.
Ich glaube zwar dass das noch viel einfacher klappen müsste, aber egal es funktioniert
Nubira
Moderator

Beiträge: 15134


 

Gesendet: 07:59 - 05.11.2007

Herzlichen Glückwunsch!
Und nun sind wir natürlich neugierig, wie Du es geschafft hast!

Nubira
Koal
Boardmeister

Beiträge: 720


 

Gesendet: 13:32 - 05.11.2007

ich wollte euch die komplizierte Sch.... ersparen, aber wenn du willst:

Zitat:
<%
Set fso = Server.CreateObject("Scripting.FileSystemObject")
strPath = Server.MapPath("./")
strTempName = fso.GetTempName
strTempNameBat = fso.GetTempName
strFileName= Replace(strTempName,".tmp",".txt")
strBatFileName= Replace(strTempName,".tmp",".bat")
strPathFile = strPath & "\" & strFileName
strPathBatFile = strPath & "\" & strBatFileName
proxy = 0

Set objFile = fso.CreateTextFile(strPathFile, True)
objFile.Close
Set objBatFile = fso.CreateTextFile(strPathBatFile, True)
objBatFile.WriteLine("c:\windows\system32\ping.exe 192.168.10.3 > " & strPathFile)
objBatFile.Close

Set objWsh = Server.CreateObject("WScript.Shell")
nRetVal = objWsh.Run(strPathBatFile, 1, True)

Set TextStream = fso.OpenTextFile(strPathFile, 1)
strOutput = ""
While Not TextStream.AtEndOfStream
strOutput = strOutput & TextStream.ReadLine
Wend
textstream.Close

Set MyDelFile = fso.GetFile(strPathFile)
MyDelFile.Delete

Set MyDelBatFile = fso.GetFile(strPathBatFile)
MyDelBatFile.Delete



if 0 = InStr(strOutput,"Bytes=32") then
proxy = "DIRECT"
else proxy = "PROXY 192.168.10.3:8080"
end if

function FindProxyForURL(url, host)
{
if (isPlainHostName(host) || dnsDomainIs(host, "localhost"))
return "DIRECT";
else if (isPlainHostName(host) || dnsDomainIs(host, "127.0.0.1"))
return "DIRECT";
else
return "<%=proxy%>"
}



Koal
Boardmeister

Beiträge: 720


 

Gesendet: 13:33 - 05.11.2007

Erklärung erfolt später, habe jetzt Unterricht
Koal
Boardmeister

Beiträge: 720


 

Gesendet: 17:52 - 05.11.2007

Also:
Dieses ASP-Skript wird vom Browser aufgerufen wenn er eine Verbindung zum Internet herstellen will.
Skript grob erklärt:
Zuerst werden eine leere Textdatei und eine Batchdatei mit einem Ping-Befehl erstellt.
Die Batchdatei wird dann ausgeführt. Sie pingt den Proxy-Server an und schreibt das Ergebnis in die Textdatei.
Danach ließt das Skript die Textdatei aus und schickt ein Java-Skript an den Browser zurück.
Falls der Proxy-Server auf den Ping geantwortet hat steht in dem Java-Skript, dass der Proxy-Server verwendet werden soll. Hat er jedoch nicht geantwortet (weil ich in einem anderen Netzwerk bin) wird eine direkte Verbindung zum Internet hergestellt.
Lokale Adressen werden umgangen (sonst funktioniert mein Webserver nicht).

Alles klar
Cohagen
Boardkaiser

Beiträge: 3375


 

Gesendet: 18:01 - 05.11.2007

Cleveres Kerlchen, unser Koal. Respekt!
Koal
Boardmeister

Beiträge: 720


 

Gesendet: 18:29 - 05.11.2007

Danke Cohagen!
Ich muss aber zugeben, dass der Großteil kopiert und nur an meine Bedürfnisse angepasst wurde.
Ganz alleine kann ich sowas nicht schreiben, weil ich ASP nicht wirklich gelernt habe, nur einfache Rechnoperationen (+ - * : ).
Aber ich verstehe zumindest den Code und kann ihn so ändern, dass er für mich passt
Nubira
Moderator

Beiträge: 15134


 

Gesendet: 18:43 - 05.11.2007

Toll gemacht Koal!

Man muss nicht alles wissen, aber man muss wissen, wo man nachschauen kann und wie man das dann an seine Bedürfnisse anpasst!

Nubira
Koal
Boardmeister

Beiträge: 720


 

Gesendet: 19:54 - 05.11.2007

@ Nubira:
sehe ich auch so
Koal
Boardmeister

Beiträge: 720


 

Gesendet: 13:54 - 06.11.2007

Für diejenigen, die vorhaben dieses Skript auch einzusetzen:
Da es ungefähr 4 Sekunden benötigt hat mein Freund folgendes optimiert:
Die Zeile
Zitat:
objBatFile.WriteLine("c:\windows\system32\ping.exe 192.168.10.3 > " & strPathFile)

einfach auf
Zitat:
objBatFile.WriteLine("c:\windows\system32\ping.exe 192.168.10.3 -n 1 > " & strPathFile)
ausbessern.
Jetzt wird nicht mehr standardmäßig 4 mal gepingt sondern nur einmal.
Dadurch benötigt das Skript nicht einmal mehr eine Sekunde

Seiten mit Postings: 1 2

- Automatische Proxy-Konfiguration -

zum Seitenanfang



 Forum Index —› Software, Internet —› Automatische Proxy-Konfiguration
 



Version 3.1 | Load: 0.004336 | S: 1_2