Per POST automatisch auf Website einloggen...

Status
Nicht offen für weitere Antworten.
O

Oliver001

Gast
Wie man Argumente per GET an eine Webside übergibt ist ziemlich trivial.
Doch wie geht dies per POST?

Ziel:
Periodisch auf eine WebSite einloggen (Formular mit Benutzername & Pwd.), die vom WebServer generierte Seite empfangen, parsen und Userinteraktionen automatisch von der JavaApp. ausführen lassen - dann wieder ausloggen.

Dies ist alles kein Problem, bis eben auf die Sache mit dem Einloggen. Wie geschieht dies per POST?

Vielen Dank.
Oli
***
 
S

stev.glasow

Gast
Du öffnest eine ganz normale Socketverbindung mit dem deinem Webserver auf Port 80, schickst ihm eine entsprechende Anfrage und wertest dann seine Anwort aus.
 
O

Oliver001

Gast
Danke erstmals.
Soweit kann ich Deine Antwort nachvollziehen, allerdings ist es mir nicht klar, wie ich die POST Key-Value Information hinzufüge.

Bei GET is' es ja klar, einfach an die URL anhängen.
 
S

stev.glasow

Gast
Ich habe hier noch eine andere Variante gefunden. Vieleicht hilft dir das mehr.
 
O

Oliver001

Gast
...das sieht sehr gut aus - ist wahrscheinlich das, was ich suche.

Werd's ausprobieren. :)

Einen schönen Tag zusammen.
Oli
 
O

Oliver001

Gast
Ich bekomme zwar den HTML Code zurück, jedoch ohne erfolgreichen Login.

Bei den Angaben key/value gebe ich als KeyAttribut einfach den Wert des name Attributs des HTML Input Tags an und als value einfach den Benutzernamen, bzw. das pwd.

Ich hab' beide vorgeschlagenen Lösungen probiert, speziell allerdings die erste - ohne Erfolg.



:cry:
 

Freakazoid

Mitglied
hi,
bin mir nicht ganz sicher,aber man kann auch die beutzerdaten base64 codieren und dann als Authorisierungsdaten mitschicken...
z.b. so:
Code:
String[] httpnachricht = {
"POST /order.jsp HTTP/1.1",
"Host: www.test.de",
"Content-Length: 49",
"Authorization: Basic U3R1ZDp3aW5m",
"" ,
"kdnr=kn425&kdname=Max+Muster&werbung=BitteWerbung",
""};
 

harl3kin

Mitglied
Hallo zusammen,

ich möchte einen Webserver mittels HTTP POST ansprechen. Habe jetzt schon verschiedene Implementierungen versucht, aber die Anfrage scheint nicht so auf dem Server anzukommen wie gedacht. Mein Code sieht momentan so aus:
Code:
try {
      //Create URLConnection
      URL target = new URL("http://hostname/geoserver/wms");
      URLConnection httpURLConnection = target.openConnection();
      httpURLConnection.setDoOutput(true);
      OutputStreamWriter wr = new OutputStreamWriter(httpURLConnection.getOutputStream());     
      //    Construct data
      String data = URLEncoder.encode("request", "UTF-8") + "=" + URLEncoder.encode("GetCapabilities", "UTF-8");
      wr.write(data);
      wr.flush();
      String response = new String(consumeResponse(httpURLConnection.getInputStream()));
      System.out.println(response);

    }

Als response bekomm ich die selbe antwort wie wenn ich in den browser die oben genannte URL eingebe. Es sieht also so aus, als würde der Server den data-Parameter nicht beachten.
Wisst ihr wo da der Fehler sein kann?

Thx,
thorsten
 

huckfinn

Aktives Mitglied
Also es gibt eine API in den Apache Jakarta Commons
..siehe org.apache.commons.httpclient
die einem viel Arbeit mit dem Clientkram abnimmt.
Den Folgenden Code habe ich aus dem Java Servlet und JSP Cookbook von
Bruce W. Perry ..O'Reilly bzw. von der Apache Seite. Die GET-Methoden habe
ich getestet und laufen bei mir in einer ClientShell. Der Test der POST-Methoden
steht noch aus. Ich hoffe es hilft.

Bis denne Huck

Code:
package default; 

import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.params.HttpMethodParams;
import java.io.*;
....
import default.saxparser.ServerResponse;

public class HttpClientTest {

    private HttpClient httpClient = new HttpClient();

    //------------------------------------------------------------------
    // Neue Instanz
    //------------------------------------------------------------------
    public HttpClientTest() {
        httpClient.getHttpConnectionManager().
            getParams().setConnectionTimeout(5000);
    }

    //------------------------------------------------------------------
    //  Alles über eine GET Methode
    //------------------------------------------------------------------
    public ServerResponse requestViaGet(String url) 
      throws SAXException, HttpException, IOException {
        HttpMethod request = new GetMethod(url+"&user=joe&password=bloggs");
        httpClient.executeMethod(request);
        InputStream responseStream = request.getResponseBodyAsStream();
        .......
        ServerResponse result = new ServerResponse();
        result.parse(responseStream);
        return result;
    }

    //------------------------------------------------------------------
    //  Alles über eine Post Methode
    //------------------------------------------------------------------
    public ServerResponse requestViaPost(String url) 
      throws SAXException, HttpException, IOException {
        PostMethod request = new PostMethod(url);
        NameValuePair[] data = {
          new NameValuePair("user", "joe"),
          new NameValuePair("password", "bloggs")
        };

        request.setRequestBody(data);

        httpClient.executeMethod(request);
        InputStream responseStream = request.getResponseBodyAsStream();
        .....
        ServerResponse result = new ServerResponse();
        result.parse(responseStream);
        return result;
    }

 }
 

huckfinn

Aktives Mitglied
Hi,

Hier der Rest
huckfinn hat gesagt.:
Der Test der POST-Methoden steht noch aus
Der Test der POST-Methode war auch erfolgreich und ist sogar etwas eleganter als GET, weil man die Parameter nicht mit der Methode
Code:
URIUtil.encodeQuery(...)
URI-konform verpacken muß.

Bis denne Huck
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F http Post auf einen Grafana Server Netzwerkprogrammierung 3
S HTTP Post?!? - Java Server Netzwerkprogrammierung 7
O HTTP Bilderübergabe per POST Netzwerkprogrammierung 1
T HTTPS-Requests an Server: POST-Parameter kommen nicht an Netzwerkprogrammierung 5
N Post u Head Request an Server Netzwerkprogrammierung 4
F HTTP POST - "Already connected" Netzwerkprogrammierung 0
C Android: Json-POST Request zu REST Webservice Netzwerkprogrammierung 2
nrg FileUpload HTTP POST Netzwerkprogrammierung 5
R HTTP Post HTML Netzwerkprogrammierung 5
S HTTP Probleme mit POST-Befehl Netzwerkprogrammierung 2
D daten per post senden Netzwerkprogrammierung 3
B Post Request in Java Netzwerkprogrammierung 11
C HTTP POST Connect Netzwerkprogrammierung 9
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 2
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 6
T HTTP POST Request Netzwerkprogrammierung 3
C HTTP Studienarbeit Kommunikation via HTTP mit POST zwischen Server und Client Netzwerkprogrammierung 7
ARadauer POST Request absetzen.. Netzwerkprogrammierung 3
lordcarlos HTTP Apache HttpClient, post und login. Netzwerkprogrammierung 2
D Verbindung zu einem Server - POST Netzwerkprogrammierung 2
T HttpClient - Senden via Post Netzwerkprogrammierung 12
S HttpURLConnection POST splittet Daten in zwei Pakete Netzwerkprogrammierung 9
hdi POST Request (HttpConnection) Netzwerkprogrammierung 6
M Http POST liefert kryptischen Content Netzwerkprogrammierung 4
F POST-Daten sende Netzwerkprogrammierung 3
B Wie HTTP GET/POST Anfrage versenden? Netzwerkprogrammierung 7
N Per POST -Methode Daten an den Web-Server übertragen. Netzwerkprogrammierung 9
S Probleme beim senden von Daten per POST Methode an PHP Scrip Netzwerkprogrammierung 5
J 403 error bei POST request Netzwerkprogrammierung 3
J Post-Daten an URL schicken Netzwerkprogrammierung 2
E upload progress bei einem http file post Netzwerkprogrammierung 5
M erst POST dann Http-Request über URLConnection Netzwerkprogrammierung 3
G.I.Joe Datei per POST übertragen Netzwerkprogrammierung 2
J HTTP-POST-Request mit Anhang über Socket Netzwerkprogrammierung 2
E In Webseite einloggen/ GET, POST an PHP-Script übergeben Netzwerkprogrammierung 2
B totale HTTP/1.0 Verwirrung bei POST Netzwerkprogrammierung 5
U Webformular ausfüllen ( Post ) Netzwerkprogrammierung 7
S object via post auf servlet send und weiter bearbeiten Netzwerkprogrammierung 11
A daten an php script per post senden und ausgabe einlesen Netzwerkprogrammierung 6
C POST-Parameter aus HTML-Script lesen Netzwerkprogrammierung 1
C SMTP-Host automatisch ermittlen Netzwerkprogrammierung 15
U HTTP Zertifikat automatisch akzeptieren Netzwerkprogrammierung 6
L webformular automatisch erstellen, senden und auswerten . Netzwerkprogrammierung 2
D Server schliesst sich automatisch mit Client Netzwerkprogrammierung 3
M webseite automatisch ausfüllen und abschicken Netzwerkprogrammierung 2
Tom079 Zertifikate automatisch annehmen. Netzwerkprogrammierung 2
W Automatisch Email senden Netzwerkprogrammierung 4
mor16Euro Realetime Website Netzwerkprogrammierung 1
mor16Euro HTTP Php website mit Java aktualisiern Netzwerkprogrammierung 6
T HTTP JSoup Automatic Website Login Netzwerkprogrammierung 1
MaxG. Website in Swing öffnen Netzwerkprogrammierung 4
C Spezielle Daten aus Website entnehmen Netzwerkprogrammierung 5
S Website Überwachung Netzwerkprogrammierung 12
C Gerenderte Website nach der ausführung von JavaScript als HTML Code aus lesen Netzwerkprogrammierung 4
KingSquizzi3 Website parsen mit Hilfe von jsoup funktioniert nicht Netzwerkprogrammierung 3
F Website parsen, die mit javascript zusammengebaut wird Netzwerkprogrammierung 1
D Zugriff auf Webinhalte ohne visuelles Öffnen der Website Netzwerkprogrammierung 2
F HTTP Website parsen Fehler 403 Netzwerkprogrammierung 2
J Website-Zugriff beenden Netzwerkprogrammierung 11
I Website darstellen Java Netzwerkprogrammierung 3
D .txt meiner Website editieren Netzwerkprogrammierung 9
G Txt datei von Website downloaden Netzwerkprogrammierung 8
C Content aus Website ziehen Netzwerkprogrammierung 4
V Quelltaxt einer Website auslesen funktioniert nicht Netzwerkprogrammierung 2
V Angezeigten Text einer Website erfragen Netzwerkprogrammierung 4
P HttpClient - Daten einer Website "unvollständig" Netzwerkprogrammierung 5
S website auslesen schlägt fehl Netzwerkprogrammierung 20
G Kryptische Zeichen beim Auslesen einer Website Netzwerkprogrammierung 11
H Socket Mit Applet Verbindung zu eigener Website aufbauen Netzwerkprogrammierung 4
N Login auf Website Netzwerkprogrammierung 11
B Website Netzwerkprogrammierung 6
T Quelltext einer Website auslesen Netzwerkprogrammierung 3
S CRC32 check von website Netzwerkprogrammierung 3
L Logingeschützte Website mit mehreren Accs auslesen Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben