- import java.io.ByteArrayOutputStream;
- import java.io.InputStream;
- import java.util.ArrayList;
- import java.util.List;
- import org.apache.http.HttpEntity;
- import org.apache.http.HttpHost;
- import org.apache.http.HttpResponse;
- import org.apache.http.NameValuePair;
- import org.apache.http.client.HttpClient;
- import org.apache.http.client.entity.UrlEncodedFormEntity;
- import org.apache.http.client.methods.HttpPost;
- import org.apache.http.impl.client.DefaultHttpClient;
- import org.apache.http.message.BasicNameValuePair;
- import org.apache.http.protocol.HTTP;
- public class Httpclient {
- public final static void main(String[] args) throws Exception {
- DefaultHttpClient httpclient = new DefaultHttpClient();
- //设置代理服务器
- final HttpHost proxy =new HttpHost("172.131.2.46", 8080, "http");
- httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
- HttpPost httpost = new HttpPost("http://127.0.0.1:8080/test/admin.do?method=logon");
- //传递参数,本例中要输入用户名和密码才能进去
- List <NameValuePair> nvps = new ArrayList <NameValuePair>();
- nvps.add(new BasicNameValuePair("userName", "admin"));
- nvps.add(new BasicNameValuePair("password", "admin"));
- httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
- HttpResponse response = httpclient.execute(httpost);
- visitUrlOfSite(httpclient);
- // Do not feel like reading the response body
- // Call abort on the request object
- httpost.abort();
- }
- /**
- * inputStream转换byte数组
- * @param input
- * @return 流是从当前位置开始读取的
- * @throws Exception
- */
- private static byte[] transformInputstream(InputStream input)throws Exception
- {
- byte[] byt= null;
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- int b=0;
- b = input.read();
- while( b != -1)
- {
- baos.write(b);
- b = input.read();
- }
- byt = baos.toByteArray();
- return byt;
- }
- private static void visitUrlOfSite(HttpClient httpclient) throws Exception{
- HttpPost httpost = new HttpPost("http://127.0.0.1:8080/test/student/studentAction.do?method=query");
- HttpResponse response = httpclient.execute(httpost);
- HttpEntity entity = response.getEntity();
- System.out.println("----------------------------------------");
- System.out.println(response.getStatusLine());
- if (entity != null) {
- System.out.println("Response content length: " +new String(transformInputstream(entity.getContent()),"gb2312"));
- }
- System.out.println("----------------------------------------");
- if (entity != null) {
- entity.consumeContent();
- }
- httpost.abort();
- }
- }
httpclient使用实例
最新推荐文章于 2023-10-25 21:28:33 发布