Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

geschütze http-Verbindung

Empfohlene Antworten

Hallo,

ich muß mit einem Programm eine http-Verbindung zu einer url aufbauen und den Content auslesen, dass Problem dabei ist, dass die Seite Passwortgeschützt ist.

(Es popt dieses Browserfenster zur Eingabe von Benutzername und Passwort hoch).

allowUserInteraction (java.net.HttpURLConnection) kann ich auf true gesetzt werden, da das Programm automatisch laufen muss.

Wie kann ich dennoch auf diese Seite zugreifen?

Wie kann ich mich programmseitig authorisieren? (Benutzername und Passwort habe ich natürlich)

Ich weiss nicht, ob das mit der Standard URLConnection so ohne weiteres möglich ist. Ich benutze für HTTP Automatisierungs-Geschichten eigentlich immer Jakarta HttpClient oder HttpUnit (http://httpunit.sourceforge.net/) da geht die ganze Verarbeitung deutlich komfortabler mit.

Ciao

Christian

Original geschrieben von PerdianMG

Ich weiss nicht, ob das mit der Standard URLConnection so ohne weiteres möglich ist. Ich benutze für HTTP Automatisierungs-Geschichten eigentlich immer Jakarta HttpClient oder HttpUnit (http://httpunit.sourceforge.net/) da geht die ganze Verarbeitung deutlich komfortabler mit.

Nein, nein, der Link hat schon genau die Lösung gebracht, die ich benötigt habe. Vielen Dank nochmal

Stimmt, die Authentierung von HttpUnit ist einfach, aber ich genau eigentlich davon aus, dass diese setAuthenication()-Methode (nicht schlagen, wenn ich mich da im Namen verteue) intern genau, dass macht, was auf der gelinkten Seite steht.

HttpUnit ist dennoch glaube ich, kein so guter Ansatz dafür, da es eigentlich für genau einen Zweck bestimmt ist (Unittests) und eigentlich nicht andere Automatisierungsaufgaben. Ich bin immer etwas vorsichtig, wenn ich Tools für einen anderen Zweck benutze als für den wofür sie gemacht worden sind.

HttpClient kenne ich jetzt gar nicht. Wenn ich nochmal so eine Aufgabe habe, dann gucke ich mir das mal an.

Der Vorschlag meines Kollegen war "trace den TCP/IP-Verkehr und schreibe es dir selbst". Euer Vorschlag war bestimmt schneller.

Danke nochmal für die Hilfe.

Grüße

themaster

  • 1 Jahr später...

Hallo zusammen!

Ich bin über die Suche auf diesen Thread gestoßen. Habe ebenfalls die Galileocomputing-Seite gefunden und mir auch ein Beispiel dran genommen:



    public static void connect(String urlString, String username, String pass)

    {

        try

        {

            System.getProperties().setProperty("http.proxyHost", "sposrv01.spo.intern");

            System.getProperties().setProperty("http.proxyPort", "8080");

            URL url = new URL(urlString);

            con = url.openConnection();

            con.setRequestProperty("Proxy-Authorization: Basic ", userNamePasswordBase64(username, pass));

            con.connect();

            readContents();

        }

        catch (MalformedURLException e)

        {

            e.printStackTrace();

        }

        catch (IOException e)

        {

            e.printStackTrace();

        }

    }


Beim Aufruf der Methode readContents() bekomm ich immer wieder Fehlercode 407: Proxy Authentication Required. Kann mir da zufällig jemand weiterhelfen?

Oh mann ... hat sich soeben erledigt. Ich habs hin bekommen. Der Fehler lag da:

Falsch:


con.setRequestProperty("Proxy-Authorization: Basic ", userNamePasswordBase64(username, pass));


Richtig:


con.setRequestProperty("Proxy-Authorization", "Basic "+userNamePasswordBase64(username, pass));

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.