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();
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");
Abfrageparameterkodierung :
Anfrageparameter (z. B. id=10) in eine kodierte umwandeln Abfragezeichenfolge:
String data = "id=" + URLEncoder.encode("10", "UTF-8");
Datenübertragung:
Schreiben Sie die Daten in den Ausgabestream der Verbindung:
OutputStreamWriter wr = new OutputStreamWriter(ccc.getOutputStream()); wr.write(data); wr.flush();
Antwortverarbeitung :
Erhalten und verarbeiten Sie die Server Antwort:
BufferedReader br = new BufferedReader(new InputStreamReader(ccc.getInputStream())); String response = br.readLine();
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. } }
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!