apache HttpClient 4
JavaプログラムからPOSTをしてみました。
この はてな にログインします。
ユーザ名&パスワードはもちろん架空です。
http://hc.apache.org/
import java.io.IOException; import java.util.*; import org.apache.http.*; import org.apache.http.client.*; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; /** * はてなにログイン * 作成日: 2009/12/23 */ public class Hatena { void test() throws ClientProtocolException, IOException { HttpClient httpclient = new DefaultHttpClient(); // POSTメソッドを作成。パラメータを設定。 HttpPost post = new HttpPost("https://www.hatena.ne.jp/login"); List params = new ArrayList(); params.add(new BasicNameValuePair("name", "foo")); params.add(new BasicNameValuePair("password", "foo")); params.add(new BasicNameValuePair("persistent", "0")); post.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); // POSTメソッドを実行。レスポンスを取得。 HttpResponse response = httpclient.execute(post); // レスポンスを表示 System.out.println(response.getStatusLine()); Header[] headers = response.getAllHeaders(); for (int i=0; i<headers.length; i++) { System.out.println(headers[i]); } System.out.println(""); System.out.println(EntityUtils.toString(response.getEntity())); } public static void main(String[] args) throws ClientProtocolException, IOException { new Hatena().test(); } }
ver3からver4になってAPIがだいぶ変わっています。
ググってもver3でかかれたソースが多く、ver4は少ないです。