Heim > Java > javaLernprogramm > Wie sende ich HTTP-POST-Anfragen in Java?

Wie sende ich HTTP-POST-Anfragen in Java?

DDD
Freigeben: 2024-12-28 14:56:16
Original
361 Leute haben es durchsucht

How to Send HTTP POST Requests in Java?

HTTP-POST-Anfrage in Java senden

Um Daten an ein serverseitiges Skript wie „page.php“ zu übertragen, das POST-Anfragen akzeptiert, befolgen Sie diese Schritte :

Initialisierung anfordern:

Instanziieren Sie ein URL-Objekt und öffnen Sie ein Verbindung:

URL aaa = new URL("http://www.example.com/page.php");
URLConnection ccc = aaa.openConnection();
Nach dem Login kopieren

POST-Setup:

Konfigurieren Sie die Verbindung, um die Übermittlung von POST-Daten zu ermöglichen:

ccc.setDoOutput(true);
ccc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
Nach dem Login kopieren

Abfrageparameterkodierung :

Anfrageparameter (z. B. id=10) in eine kodierte umwandeln Abfragezeichenfolge:

String data = "id=" + URLEncoder.encode("10", "UTF-8");
Nach dem Login kopieren

Datenübertragung:

Schreiben Sie die Daten in den Ausgabestream der Verbindung:

OutputStreamWriter wr = new OutputStreamWriter(ccc.getOutputStream());
wr.write(data);
wr.flush();
Nach dem Login kopieren

Antwortverarbeitung :

Erhalten und verarbeiten Sie die Server Antwort:

BufferedReader br = new BufferedReader(new InputStreamReader(ccc.getInputStream()));
String response = br.readLine();
Nach dem Login kopieren

Aktualisierte Antwort:

Für Java-Programmierer, die Apache HTTP-Komponenten verwenden, umfasst die neueste Methode HttpClients und HttpPost. Parameter werden als NameValuePair-Liste übergeben, in eine UrlEncodedFormEntity codiert und dann an den Server übermittelt:

HttpClient httpclient = HttpClients.createDefault();
HttpPost httppost = new HttpPost("http://www.a-domain.example/foo/");

List<NameValuePair> params = new ArrayList<>(2);
params.add(new BasicNameValuePair("param-1", "12345"));
params.add(new BasicNameValuePair("param-2", "Hello!"));
httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));

HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();

if (entity != null) {
    try (InputStream instream = entity.getContent()) {
        // Process the response here.
    }
}
Nach dem Login kopieren

Weitere Informationen finden Sie in der Dokumentation zu Apache HTTP Components.

Das obige ist der detaillierte Inhalt vonWie sende ich HTTP-POST-Anfragen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage