Verwendung von HttpClient (Post) von Java

Ich habe auf die nächste Seite verwiesen. Java HTTP Communication Sample (HttpClient)

Laden Sie die folgende Datei herunter und entpacken Sie sie. httpcomponents-client-4.5.6-bin.tar.gz

Http_post.java


// -----------------------------------------------------------------------
/*
	Http_post.java

				Oct/09/2018
*/
// -----------------------------------------------------------------------
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

// -----------------------------------------------------------------------
class Uri_get {

	static String uri_post_proc(String uri,List<NameValuePair> params)
		{
		String res = "";

		Charset charset = StandardCharsets.UTF_8;

		CloseableHttpClient httpclient = HttpClients.createDefault();
		
		HttpPost request = new HttpPost(uri);

		System.out.println
			("Ausführung der Anfrage "" + request.getRequestLine() + "」");
		
		CloseableHttpResponse response = null;

		try {
			request.setEntity(new UrlEncodedFormEntity(params));
			response = httpclient.execute(request);
			
			int status = response.getStatusLine().getStatusCode();
			System.out.println("HTTP-Status:" + status);
			//HTTP-Status:200
			
			if (status == HttpStatus.SC_OK){
				
				res = EntityUtils.toString(response.getEntity(),charset);
			}
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (response != null) {
					response.close();
				}
				if (httpclient != null) {
					httpclient.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

	return res;
	}
}

// -----------------------------------------------------------------------
public class Http_post
{
	public static void main(String[] args)
	{
	String uri = "http://httpbin.org/post";		
	List<NameValuePair> params = new ArrayList<>();
	params.add(new BasicNameValuePair("user","jiro"));
	params.add(new BasicNameValuePair("password","123456"));
		
	String res = Uri_get.uri_post_proc(uri,params);
	System.out.println(res);
	}
}

// -----------------------------------------------------------------------

Makefile


LIB=../httpcomponents-client-4.5.6/lib
HTTPCLIENT_JAR=.:$(LIB)/httpclient-4.5.6.jar:$(LIB)/httpcore-4.4.10.jar
Http_post.class: Http_post.java
	javac -cp $(HTTPCLIENT_JAR) Http_post.java
clean:
	rm -f *.class

Ausführungsbefehl

LIB=../httpcomponents-client-4.5.6/lib
HTTPCLIENT_JAR=.:$LIB/httpclient-4.5.6.jar:$LIB/httpcore-4.4.10.jar:$LIB/commons-logging-1.2.jar
#
java -cp $HTTPCLIENT_JAR Http_post

Ausführungsergebnis

Ausführung der Anfrage "POST http://httpbin.org/post HTTP/1.1」
HTTP-Status:200
{
  "args": {}, 
  "data": "", 
  "files": {}, 
  "form": {
    "password": "123456", 
    "user": "jiro"
  }, 
  "headers": {
    "Accept-Encoding": "gzip,deflate", 
    "Connection": "close", 
    "Content-Length": "25", 
    "Content-Type": "application/x-www-form-urlencoded", 
    "Host": "httpbin.org", 
    "User-Agent": "Apache-HttpClient/4.5.6 (Java/10.0.2)"
  }, 
  "json": null, 
  "origin": "180.3.100.78", 
  "url": "http://httpbin.org/post"
}

Dasselbe mit Locken machen

$ curl -X POST http://httpbin.org/post -d 'user=jiro&password=123456'
{
  "args": {}, 
  "data": "", 
  "files": {}, 
  "form": {
    "password": "123456", 
    "user": "jiro"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Connection": "close", 
    "Content-Length": "25", 
    "Content-Type": "application/x-www-form-urlencoded", 
    "Host": "httpbin.org", 
    "User-Agent": "curl/7.61.1"
  }, 
  "json": null, 
  "origin": "180.3.100.78", 
  "url": "http://httpbin.org/post"
}

Hier ist ein Beispiel von Get. Verwendung von Java HttpClient (Get)

Recommended Posts

Verwendung von HttpClient (Post) von Java
Verwendung von HttpClient (Get) von Java
[Java] Verwendung von Map
Verwendung von Java Optional
Verwendung der Java-Klasse
[Java] Verwendung von removeAll ()
Verwendung von Java Map
Verwendung von Java-Variablen
[Java] Verwendung der Join-Methode
[Verarbeitung × Java] Verwendung von Variablen
[JavaFX] [Java8] Verwendung von GridPane
Verwendung von Klassenmethoden [Java]
[Java] Verwendung von List [ArrayList]
Wie verwende ich Klassen in Java?
[Verarbeitung × Java] Verwendung von Arrays
Verwendung von Java-Lambda-Ausdrücken
[Java] Verwendung der Math-Klasse
Verwendung des Java-Aufzählungstyps
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
[Java] Verwendung der File-Klasse
Verwendung der Submit-Methode (Java Silver)
[Leicht verständliche Erklärung! ] Verwendung der Java-Instanz
[Java] Verwendung der toString () -Methode
Studieren der Verwendung des Konstruktors (Java)
[Verarbeitung × Java] Verwendung der Schleife
Verwendung und Definition von Java-Klassen, Importieren
[Leicht verständliche Erklärung! ] Verwendung des Java-Polymorphismus
[Java] [Maven3] Zusammenfassung der Verwendung von Maven3
[Verarbeitung × Java] Verwendung der Klasse
Verwendung der Java Scanner-Klasse (Hinweis)
[Verarbeitung × Java] Verwendung der Funktion
[Leicht verständliche Erklärung! ] Verwendung von ArrayList [Java]
[Java] Verwendung der Calendar-Klasse
[Java] Erfahren Sie, wie Sie Optional richtig verwenden
[Leicht verständliche Erklärung! ] Verwendung von Java-Überladung
try-catch-finally Ausnahmebehandlung Verwendung von Java
[Leicht verständliche Erklärung! ] Verwendung der Java-Kapselung
Verwendung von Map
Wie benutzt man rbenv?
Verwendung mit_option
Verwendung von fields_for
Verwendung von java.util.logging
Verwendung der Karte
Verwendung von collection_select
Wie benutzt man Twitter4J
Wie benutzt man active_hash! !!
Verwendung von MapStruct
Verwendung von TreeSet
[Verwendung des Etiketts]
Wie man Identität benutzt
Wie man Hash benutzt