Created
October 28, 2011 01:08
-
-
Save rponte/1321371 to your computer and use it in GitHub Desktop.
sending http post (httpclient 4.x - httpcomponents) with parameters example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
List<NameValuePair> formparams = new ArrayList<NameValuePair>(); | |
formparams.add(new BasicNameValuePair("param1", "value1")); | |
formparams.add(new BasicNameValuePair("param2", "value2")); | |
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8"); | |
HttpPost httppost = new HttpPost("http://localhost/handler.do"); | |
httppost.setEntity(entity); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package org.apache.http.examples.client; | |
import java.util.ArrayList; | |
import java.util.List; | |
import org.apache.http.HttpEntity; | |
import org.apache.http.HttpResponse; | |
import org.apache.http.NameValuePair; | |
import org.apache.http.client.entity.UrlEncodedFormEntity; | |
import org.apache.http.client.methods.HttpGet; | |
import org.apache.http.client.methods.HttpPost; | |
import org.apache.http.cookie.Cookie; | |
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; | |
/** | |
* A example that demonstrates how HttpClient APIs can be used to perform | |
* form-based logon. | |
*/ | |
public class ClientFormLogin { | |
public static void main(String[] args) throws Exception { | |
DefaultHttpClient httpclient = new DefaultHttpClient(); | |
try { | |
HttpGet httpget = new HttpGet("https://portal.sun.com/portal/dt"); | |
HttpResponse response = httpclient.execute(httpget); | |
HttpEntity entity = response.getEntity(); | |
System.out.println("Login form get: " + response.getStatusLine()); | |
EntityUtils.consume(entity); | |
System.out.println("Initial set of cookies:"); | |
List<Cookie> cookies = httpclient.getCookieStore().getCookies(); | |
if (cookies.isEmpty()) { | |
System.out.println("None"); | |
} else { | |
for (int i = 0; i < cookies.size(); i++) { | |
System.out.println("- " + cookies.get(i).toString()); | |
} | |
} | |
HttpPost httpost = new HttpPost("https://portal.sun.com/amserver/UI/Login?" + | |
"org=self_registered_users&" + | |
"goto=/portal/dt&" + | |
"gotoOnFail=/portal/dt?error=true"); | |
List <NameValuePair> nvps = new ArrayList <NameValuePair>(); | |
nvps.add(new BasicNameValuePair("IDToken1", "username")); | |
nvps.add(new BasicNameValuePair("IDToken2", "password")); | |
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); | |
response = httpclient.execute(httpost); | |
entity = response.getEntity(); | |
System.out.println("Login form get: " + response.getStatusLine()); | |
EntityUtils.consume(entity); | |
System.out.println("Post logon cookies:"); | |
cookies = httpclient.getCookieStore().getCookies(); | |
if (cookies.isEmpty()) { | |
System.out.println("None"); | |
} else { | |
for (int i = 0; i < cookies.size(); i++) { | |
System.out.println("- " + cookies.get(i).toString()); | |
} | |
} | |
} finally { | |
// When HttpClient instance is no longer needed, | |
// shut down the connection manager to ensure | |
// immediate deallocation of all system resources | |
httpclient.getConnectionManager().shutdown(); | |
} | |
} | |
} |
The Commons HttpClient project is now end of life, and is no longer being developed. It has been replaced by the Apache HttpComponents project in its HttpClient and HttpCore modules, which offer better performance and more flexibility.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
other examples,
http://www.vogella.de/articles/ApacheHttpClient/article.html