POST Request (HttpConnection)

Status
Nicht offen für weitere Antworten.

hdi

Top Contributor
Hey,
häng hier grad fest, weil ich mich mit Netzwerk-Programmierung überhaupt nicht auskenne.
Ich möchte gerne einen Post Request an eine Website schicken, genau genommen
soll's erstmal ein Login sein.

Ich habe mir dieses:

HttpClient - HttpClient Home

Package geholt, um das zu tun.
Leider stecke ich nun fest weil ich nicht genau weiss wie ich den Request abschicken soll.

die execute-Methode verlangt eine HttpConnection. Ich hab keine Ahnung was ich da
als Port eingeben soll... oder lieg ich grad voll daneben?

Hier mal mein Code:

[HIGHLIGHT="Java"]PostMethod post = new PostMethod(target.getLoginUrl());
NameValuePair[] data = {
new NameValuePair("txtAccountNumber_Account", login),
new NameValuePair("ptxtPassword_Account", pwd) };
post.setRequestBody(data);
HttpConnection conn = new HttpConnection("www.eineWebsite.com",
8080);
try {
conn.open();
post.execute(new HttpState(), conn);
} catch (IOException e2) {
e2.printStackTrace();
}[/HIGHLIGHT]

Ich weiss auch gar nicht wie ich überprüfen kann ob das hingehauen hat.
Ich kann mir zwar auch mit einer Methode von diesem Package den Response holen:

[HIGHLIGHT="Java"]InputStream in = post.getResponseBodyAsStream();[/HIGHLIGHT]

und das ist auch nicht null. Aber ich glaube nicht dass das so passt...

Bitte helft mir! Muss auch nicht mit Verwendung dieses Packages sein.
Danke :toll:
 

ruutaiokwu

Top Contributor
hallo,

das hier funktioniert:


[HIGHLIGHT="Java"]import java.io.BufferedReader;
import java.io.InputStreamReader;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class HttpCommonsPost
{
private String url = null;

public void setURL(final String url)
{
this.url = url;
}

public String doPostRequest(final NameValuePair[] caNameValuePairArr)
{
String lReturn = "";
final HttpClient clHttpClient = new HttpClient();
BufferedReader lBufferedReader = null;
PostMethod lPostMethod = null;

try
{
lPostMethod = new PostMethod(this.url);
lPostMethod.getParams().setBooleanParameter(HttpMethodParams.USE_EXPECT_CONTINUE, true);
lPostMethod.setRequestBody(caNameValuePairArr);
final int clReturnCode = clHttpClient.executeMethod(lPostMethod);

if (clReturnCode != HttpStatus.SC_NOT_IMPLEMENTED)
{
lBufferedReader = new BufferedReader(new InputStreamReader(lPostMethod.getResponseBodyAsStream()));
String lReadLine = null;

while (((lReadLine = lBufferedReader.readLine()) != null))
{
lReturn = lReturn.concat(lReadLine + "\r\n");
}
}
else
{
throw new Exception("Failed!");
}
}
catch (final Exception caException)
{
System.err.println("Exception: " + caException.getMessage());
}
finally
{
lPostMethod.releaseConnection();

if (lBufferedReader != null)
{
try
{
lBufferedReader.close();
}
catch (final Exception caException)
{
final Runtime clRuntime = Runtime.getRuntime();
clRuntime.gc();
}
}
}

return lReturn;
}
}[/HIGHLIGHT]


anwendung:

[HIGHLIGHT="Java"] HttpCommonsPost lApacheHttpCommonsPost = new HttpCommonsPost();
lApacheHttpCommonsPost.setURL("http://localhost");

NameValuePair[] lDataArr = { new NameValuePair("param1", "param1value"), new NameValuePair("param2", "param2value") };
String ret = lApacheHttpCommonsPost.doPostRequest(lDataArr);
System.out.println(ret);
[/HIGHLIGHT]


gruss, jan
 

Cyborg

Aktives Mitglied
Moin,

ich muss dieses Thema nochmal hochholen, da ich zur Zeit ein ähnliches Problem habe.
Ich hab mir jetzt auch schon die 3 Beispiele angeguckt, allerdings stocke ich schon bei den imports aus den Beispielen von raiL und jmar83.
Ich bekomme da ein package .. does not exist beim compilieren.

Muss ich hier vorher noch etwas anderes importieren ?
 

Cyborg

Aktives Mitglied
Ich danke dir.

Ich hatte vorhin zwar schon so ne Vermutung, aber musste dann los und konnte nicht weiter testen.
Jetzt klappts jedenfalls :D

// Eine Sache ist mir jetzt noch aufgefallen.

Wie kann ich den Zeichensatz für den Output ändern ?
Alle Umlaute krieg ich jetzt unschön ausgegeben. :/
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Post u Head Request an Server Netzwerkprogrammierung 4
C Android: Json-POST Request zu REST Webservice Netzwerkprogrammierung 2
B Post Request in Java Netzwerkprogrammierung 11
T HTTP POST Request Netzwerkprogrammierung 3
ARadauer POST Request absetzen.. Netzwerkprogrammierung 3
J 403 error bei POST request Netzwerkprogrammierung 3
M erst POST dann Http-Request über URLConnection Netzwerkprogrammierung 3
J HTTP-POST-Request mit Anhang über Socket Netzwerkprogrammierung 2
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
F HTTP POST - "Already connected" Netzwerkprogrammierung 0
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
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
C HTTP Studienarbeit Kommunikation via HTTP mit POST zwischen Server und Client Netzwerkprogrammierung 7
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
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 Post-Daten an URL schicken Netzwerkprogrammierung 2
E upload progress bei einem http file post Netzwerkprogrammierung 5
G.I.Joe Datei per POST übertragen 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
O Per POST automatisch auf Website einloggen... Netzwerkprogrammierung 9
C POST-Parameter aus HTML-Script lesen Netzwerkprogrammierung 1
Thallius HTTP Kann man den Raw HTTPS Request irgendwie ausgeben lassen? Netzwerkprogrammierung 6
O HTTP Wer hilft mit meinem UTF-8 http Request ? Netzwerkprogrammierung 1
J API Aufruf mit GET Request und HMAC Netzwerkprogrammierung 3
M HTTP PATCH Request mit Java ausführen Netzwerkprogrammierung 2
M http request and response Netzwerkprogrammierung 0
J Json von Html request einlesen Netzwerkprogrammierung 0
T curl request in java umwandeln Netzwerkprogrammierung 4
S PUT-Request Netzwerkprogrammierung 0
P Java Deauth / Deauthentication request Netzwerkprogrammierung 10
R Seltsames Verhalten bei GET Request Netzwerkprogrammierung 7
Y HTTP No request data found Netzwerkprogrammierung 2
B Socket HTTP-Request führt zu Endlosschleife Netzwerkprogrammierung 5
D OT JavaScript JQuery AJAX Request Netzwerkprogrammierung 2
R HTTP Apache HTTP Client: Request mit angehängter Datei Netzwerkprogrammierung 2
O Http request Netzwerkprogrammierung 7
E HTTP Request? Netzwerkprogrammierung 4
L Body eines http Request auslesen Netzwerkprogrammierung 2
K Ende eines HTTP Response/Request Netzwerkprogrammierung 6
D http request Netzwerkprogrammierung 11
J GET Request Netzwerkprogrammierung 1
G HTTP-Request InputStream-Problem Netzwerkprogrammierung 5
G auf http-request antworten. Netzwerkprogrammierung 3
G JMS Objektzugriff Request Reply erzeugt lediglich Kopie Netzwerkprogrammierung 4
L Java HTTP Request Netzwerkprogrammierung 3
S HTTP Request erstellen Netzwerkprogrammierung 2
K Bad Request nach Form Login in Jakarta HttpClient Netzwerkprogrammierung 4
B lange Strings in http-Request? Netzwerkprogrammierung 3
m@nu Ende von Stream bei HTTP-Request Netzwerkprogrammierung 3
D HTTP Request erstellen (Form Name übergeben!) Netzwerkprogrammierung 3
P Easy Http Request Netzwerkprogrammierung 9
A HTTPS-Request via Proxy mit Konfigurationsskript Netzwerkprogrammierung 3
Z HTTP Request Netzwerkprogrammierung 3
A http request per socket an apache server Netzwerkprogrammierung 5
M Ein HTTP-request aus Java heraus senden Netzwerkprogrammierung 3
J HTTP Request Netzwerkprogrammierung 2
B Laden einer *.csv Datei von einem Webserver (http-request) Netzwerkprogrammierung 8
C dhcp request Netzwerkprogrammierung 16
D Bad Request bei Dateiload Netzwerkprogrammierung 2
X mehrere Request über eine HttpURLConnection Netzwerkprogrammierung 2
G Http Request Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben