Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: it898ur am 26.05.06 - 08:44:36
-
Hallo,
ich habe zur Zeit ein etwas komplizierteres Problem zu bearbeiten. Ich möchte periodisch eine XML-Datei aus einer Webseite laden, um daraus Informationen zu extrahieren.
Damit das Ganze nicht zu einfach wird, liegt das Internet auch noch hinter einem Proxy und die Zielseite ist SSL-verschlüsselt (https) und verwendet Benutzername und Passwort.
Ich vermute das ich hier mit Notes Bordmitteln nicht weiterkomme, sondern auf API-Aufrufe (inet.dll ??) oder Java ausweichen muss. Leider habe ich aber bisher nichts finden können, was bei mir funktioniert hat.
Kann mir da einer helfen ?
André
-
Vielleicht hilft dir auch schon "WGET" weiter?
http://sourceforge.net/project/showfiles.php?group_id=2435
Viel Erfolg!
Chris
-
Hallo Chris,
die doku klingt interessant - ich werde das mal in Ruhe testen, auch wenn ich gehofft hatte keine externen Programme starten zu müssen.
André
-
Ich habe etwas ähnliches mit einem Java-Agenten gemacht.
Die am einfachsten zu bedienende Library ist httpClient aus dem jakarta commons Projekt.
http://jakarta.apache.org/commons/httpclient/
Ich werd mal irgendwann ein Beispiel posten.
Gruß Axel
-
Hallo Chris, Hallo Axel,
das Tool ist nett, ignoriert aber meinen Proxy sobald die Adresse mit https beginnt :'(
mit Java habe ich auch schon getestet, aber das Jakarta-Projekt setzt für SSL eine Java 1.4 voraus (Notes 7 läßt grüßen). Außerdem funktioniert die Implementation irgendwie nicht mit der IBM-JVM ???
André
-
mit Java habe ich auch schon getestet, aber das Jakarta-Projekt setzt für SSL eine Java 1.4 voraus (Notes 7 läßt grüßen).
Kann sein.
Außerdem funktioniert die Implementation irgendwie nicht mit der IBM-JVM ???
Das ist praktisch ausgeschlossen. Ich habs (allerdings mit 7) ans Laufen bekommen.
-
Das mit dem Funktionieren bezog sich auf den SSL-Teil (Test natürlich mit Notes 7).
André
-
http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/9939ccdac2251d6c85256e40006544d2?OpenDocument
hat bei mir gut funktioniert
public String HTTP_Get_XML(String Server) {
String XML_Text = "";
try {
URL url = new URL(Server);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setDefaultUseCaches(false);
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Authorization", userNamePasswordBase64("xxxx", "xxxx"));
conn.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "ISO-8859-1"));
File f = new File("C:/Lotus/Domino/Data/domino/html/eee/eee.xml");
FileWriter fw = new FileWriter(f);
BufferedWriter bw = new BufferedWriter(fw);
String Line = "";
while (null != (Line = br.readLine())) {
XML_Text = XML_Text + Line;
bw.write(Line);
}
br.close();
bw.close();
fw.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return (XML_Text);
}
-
Das mit dem Funktionieren bezog sich auf den SSL-Teil (Test natürlich mit Notes 7).
Hab ich irgendwo den SSL-Teil ausgeschlossen?
Ich meinte natürlich mit ssl.
-
es war Freitag und dunkel .... sorry
modifying java.security and java.policy files - adding JSSE jars
jsse.jar, jnet.jar, jcert.jar in Domino\jvm\lib\ext
Server = "https://www.schnatter.com/cgi-bin/abfrage.cgi?";
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
public String HTTPS_Get_XML(String Server){
String XML_Text = "";
try {
URL url = new URL(Server);
com.sun.net.ssl.HttpsURLConnection conn = (com.sun.net.ssl.HttpsURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setDefaultUseCaches(false);
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Authorization", userNamePasswordBase64("xxx", "xxx"));
conn.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "ISO-8859-1"));
File f = new File("C:/yy/yy.xml");
FileWriter fw = new FileWriter(f);
BufferedWriter bw = new BufferedWriter(fw);
String Line = "";
while (null != (Line = br.readLine())) {
XML_Text = XML_Text + Line;
bw.write(Line);
}
br.close();
bw.close();
fw.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return(XML_Text);
}