Apache HttpComponents

Apache HttpComponentsとは

HTTPクライアントとして動作し、Webサーバからコンテンツの取得や投稿などを行える

サンプル

GETメソッド実行

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.net.ssl.SSLContext;

import org.apache.http.client.CookieStore;
import org.apache.http.client.config.CookieSpecs;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.config.Registry;
import org.apache.http.config.RegistryBuilder;
import org.apache.http.conn.HttpConnectionFactory;
import org.apache.http.conn.ManagedHttpClientConnection;
import org.apache.http.conn.routing.HttpRoute;
import org.apache.http.conn.socket.ConnectionSocketFactory;
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.DefaultHttpResponseParserFactory;
import org.apache.http.impl.conn.ManagedHttpClientConnectionFactory;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.impl.io.DefaultHttpRequestWriterFactory;
import org.apache.http.ssl.SSLContexts;

public class HttpGetTest
{
	
	public static void main(String[] args) throws IOException
	{
		HttpConnectionFactory<HttpRoute, ManagedHttpClientConnection> connFactory = new ManagedHttpClientConnectionFactory(
				new DefaultHttpRequestWriterFactory(), new DefaultHttpResponseParserFactory());
		
		SSLContext sslcontext = SSLContexts.createSystemDefault();
		
		Registry socketFactoryRegistry = RegistryBuilder. create()
				.register("http", PlainConnectionSocketFactory.INSTANCE)
				.register("https", new SSLConnectionSocketFactory(sslcontext))
				.build();
		
		PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(
				socketFactoryRegistry, connFactory);
		CookieStore cookieStore = new BasicCookieStore();
		
		RequestConfig requestConfig = RequestConfig.custom()
		//		.setSocketTimeout(5000)
		//		.setConnectTimeout(5000)
		//		.setConnectionRequestTimeout(5000)
				.setCookieSpec(CookieSpecs.STANDARD)
				.setExpectContinueEnabled(true)
				.build();
		
		try(CloseableHttpClient httpclient = HttpClients.custom()
				.setConnectionManager(connManager)
				.setDefaultRequestConfig(requestConfig)
				.build())
		{
			HttpGet httpget = new HttpGet("https://www.google.co.jp/");
			httpget.setConfig(requestConfig);
		//	httpget.setHeader("User-Agent", UA);
			
			HttpClientContext context = HttpClientContext.create();
			context.setCookieStore(cookieStore);
			
			try(CloseableHttpResponse response = httpclient.execute(httpget, context))
			{
				if(response.getStatusLine().getStatusCode()==200)
				{
					BufferedReader reader = new BufferedReader(
							new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
					String next = null;
					while((next=reader.readLine())!=null)
					{
						System.out.println(next);
					}
				}
				else
				{
					System.out.println("Error : "+response.getStatusLine().getReasonPhrase());
				}
			}
		}
	}
}

Notice: Trying to get property 'queue' of non-object in /usr/local/wordpress/wp-includes/script-loader.php on line 2876

Warning: Invalid argument supplied for foreach() in /usr/local/wordpress/wp-includes/script-loader.php on line 2876