Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: it898ur am 26.05.06 - 08:44:36

Titel: SSl verschlüsselte XML-Datei aus dem Web holen
Beitrag 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é
Titel: Re: SSl verschlüsselte XML-Datei aus dem Web holen
Beitrag von: smoki am 26.05.06 - 09:20:45
Vielleicht hilft dir auch schon "WGET" weiter?

http://sourceforge.net/project/showfiles.php?group_id=2435

Viel Erfolg!

Chris
Titel: Re: SSl verschlüsselte XML-Datei aus dem Web holen
Beitrag von: it898ur am 26.05.06 - 10:37:39
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é
Titel: Re: SSl verschlüsselte XML-Datei aus dem Web holen
Beitrag von: flaite am 26.05.06 - 11:09:21
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
Titel: Re: SSl verschlüsselte XML-Datei aus dem Web holen
Beitrag von: it898ur am 26.05.06 - 11:41:50
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é
Titel: Re: SSl verschlüsselte XML-Datei aus dem Web holen
Beitrag von: flaite am 26.05.06 - 11:58:04
Zitat
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.

Zitat
Außerdem funktioniert die Implementation irgendwie nicht mit der IBM-JVM  ???
Das ist praktisch ausgeschlossen. Ich habs (allerdings mit 7) ans Laufen bekommen.
Titel: Re: SSl verschlüsselte XML-Datei aus dem Web holen
Beitrag von: it898ur am 26.05.06 - 12:00:20
Das mit dem Funktionieren bezog sich auf den SSL-Teil (Test natürlich mit Notes 7).

André
Titel: Re: SSl verschlüsselte XML-Datei aus dem Web holen
Beitrag von: hwenck am 26.05.06 - 12:12:03
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);
   }
Titel: Re: SSl verschlüsselte XML-Datei aus dem Web holen
Beitrag von: flaite am 28.05.06 - 18:34:54
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.

Titel: Re: SSl verschlüsselte XML-Datei aus dem Web holen
Beitrag von: hwenck am 29.05.06 - 16:07:55
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);
    }