Apache-httpclient-http-post-request
提供:Dev Guides
Apache HttpClient-Http Postリクエスト
POST要求は、サーバーにデータを送信するために使用されます。たとえば、HTMLフォームを使用した顧客情報、ファイルのアップロードなど。
HttpClient APIは、POST要求を表す HttpPost という名前のクラスを提供します。
HttpClientライブラリを使用してHTTP POSTリクエストを送信するには、以下の手順に従います。
ステップ1-HttpClientオブジェクトを作成する
*HttpClients* クラスの* createDefault()*メソッドは、 *HttpClient* インターフェイスの基本実装である *CloseableHttpClient* クラスのオブジェクトを返します。
このメソッドを使用して、HttpClientオブジェクトを作成します。
CloseableHttpClient httpClient = HttpClients.createDefault();
ステップ2-HttpPostオブジェクトを作成する
*HttpPost* クラスは *HTTP POST* リクエストを表します。 これにより、必要なデータが送信され、URIを使用して指定されたサーバーの情報が取得されます。
*HttpPost* クラスをインスタンス化してこのリクエストを作成し、URIを表す文字列値をコンストラクターのパラメーターとして渡します。
HttpGet httpGet = new HttpGet("http://www.finddevguides.com/");
ステップ3-Getリクエストを実行する
CloseableHttpClientオブジェクトの* execute()*メソッドは、HttpUriRequest(インターフェイス)オブジェクト(つまり、 HttpGet、HttpPost、HttpPut、HttpHeadなど)と応答オブジェクトを返します。
HttpResponse httpResponse = httpclient.execute(httpget);
例
以下は、HttpClientライブラリを使用したHTTP POST要求の実行を示す例です。
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
public class HttpPostExample {
public static void main(String args[]) throws Exception{
//Creating a HttpClient object
CloseableHttpClient httpclient = HttpClients.createDefault();
//Creating a HttpGet object
HttpPost httppost = new HttpPost("https://www.finddevguides.com/");
//Printing the method used
System.out.println("Request Type: "+httppost.getMethod());
//Executing the Get request
HttpResponse httpresponse = httpclient.execute(httppost);
Scanner sc = new Scanner(httpresponse.getEntity().getContent());
//Printing the status line
System.out.println(httpresponse.getStatusLine());
while(sc.hasNext()) {
System.out.println(sc.nextLine());
}
}
}
出力
上記のプログラムは、次の出力を生成します。
Request Type: POST
<!DOCTYPE html>
<!--[if IE 8]><html class = "ie ie8"> <![endif]-->
<!--[if IE 9]><html class = "ie ie9"> <![endif]-->
<!--[if gt IE 9]><!-->
<html lang = "en-US"> <!--<![endif]-->
<head>
<!-- Basic -->
<meta charset = "utf-8">
<title>Parallax Scrolling, Java Cryptography, YAML, Python Data Science, Java
i18n, GitLab, TestRail, VersionOne, DBUtils, Common CLI, Seaborn, Ansible,
LOLCODE, Current Affairs 2018, Apache Commons Collections</title>
<meta name = "Description" content = "Parallax Scrolling, Java Cryptography, YAML,
Python Data Science, Java i18n, GitLab, TestRail, VersionOne, DBUtils, Common
CLI, Seaborn, Ansible, LOLCODE, Current Affairs 2018, Intellij Idea, Apache
Commons Collections, Java 9, GSON, TestLink, Inter Process Communication (IPC),
Logo, PySpark, Google Tag Manager, Free IFSC Code, SAP Workflow"/>
<meta name = "Keywords" content="Python Data Science, Java i18n, GitLab,
TestRail, VersionOne, DBUtils, Common CLI, Seaborn, Ansible, LOLCODE, Gson,
TestLink, Inter Process Communication (IPC), Logo"/>
<meta http-equiv = "X-UA-Compatible" content = "IE = edge">
<meta name = "viewport" conten t= "width = device-width,initial-scale = 1.0,userscalable = yes">
<link href = "https://cdn.muicss.com/mui-0.9.39/extra/mui-rem.min.css"
rel = "stylesheet" type = "text/css"/>
<link rel = "stylesheet" href = "/questions/css/home.css?v = 3"/>
<script src = "/questions/js/jquery.min.js"></script>
<script src = "/questions/js/fontawesome.js"></script>
<script src = "https://cdn.muicss.com/mui-0.9.39/js/mui.min.js"></script>
</head>
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
</script>
</body>
</html>