httpclient使用实例

  1. import java.io.ByteArrayOutputStream;
  2. import java.io.InputStream;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import org.apache.http.HttpEntity;
  6. import org.apache.http.HttpHost;
  7. import org.apache.http.HttpResponse;
  8. import org.apache.http.NameValuePair;
  9. import org.apache.http.client.HttpClient;
  10. import org.apache.http.client.entity.UrlEncodedFormEntity;
  11. import org.apache.http.client.methods.HttpPost;
  12. import org.apache.http.impl.client.DefaultHttpClient;
  13. import org.apache.http.message.BasicNameValuePair;
  14. import org.apache.http.protocol.HTTP;
  15. public class Httpclient {
  16.      public final static void main(String[] args) throws Exception {
  17.             DefaultHttpClient httpclient = new DefaultHttpClient();
  18.            //设置代理服务器
  19.             final HttpHost proxy =new HttpHost("172.131.2.46"8080"http");
  20.             httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
  21.             
  22.             HttpPost httpost = new HttpPost("http://127.0.0.1:8080/test/admin.do?method=logon"); 
  23.             //传递参数,本例中要输入用户名和密码才能进去
  24.             List <NameValuePair> nvps = new ArrayList <NameValuePair>();
  25.             nvps.add(new BasicNameValuePair("userName""admin"));
  26.             nvps.add(new BasicNameValuePair("password""admin"));
  27.             httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
  28.             HttpResponse response = httpclient.execute(httpost);
  29.                     
  30.             visitUrlOfSite(httpclient);
  31.             
  32.             // Do not feel like reading the response body
  33.             // Call abort on the request object
  34.             httpost.abort();
  35.         }
  36.      
  37.         /**
  38.          * inputStream转换byte数组
  39.          * @param input
  40.          * @return 流是从当前位置开始读取的
  41.          * @throws Exception
  42.          */
  43.         private static byte[] transformInputstream(InputStream input)throws Exception
  44.         {
  45.             byte[] byt= null;
  46.             ByteArrayOutputStream baos = new ByteArrayOutputStream();
  47.             int b=0;       
  48.             b = input.read();
  49.             while( b != -1)
  50.             {
  51.                 baos.write(b);
  52.                 b = input.read();            
  53.             }
  54.             byt = baos.toByteArray();
  55.             return byt;
  56.         }
  57.         
  58.         private static void visitUrlOfSite(HttpClient httpclient) throws Exception{
  59.                 HttpPost httpost = new HttpPost("http://127.0.0.1:8080/test/student/studentAction.do?method=query"); 
  60.                 HttpResponse response = httpclient.execute(httpost);
  61.                 HttpEntity entity = response.getEntity();
  62.                 System.out.println("----------------------------------------");
  63.                 System.out.println(response.getStatusLine());
  64.                 if (entity != null) {
  65.                     System.out.println("Response content length: " +new String(transformInputstream(entity.getContent()),"gb2312"));
  66.                 }
  67.                 System.out.println("----------------------------------------");
  68.                 if (entity != null) {
  69.                     entity.consumeContent();
  70.                 }
  71.                 httpost.abort();
  72.         
  73.         }
  74.         
  75. }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
HttpClient 是一个开源的 HTTP 客户端库,用于发送 HTTP 请求和接收 HTTP 响应。它提供了简化的 API,使得进行 HTTP 通信变得更加容易。 要使用 HttpClient,首先需要在项目中引入 HttpClient 的依赖。具体的操作方式取决于你使用的开发环境和构建工具。一般来说,如果是使用 Maven 进行项目管理,可以在 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> ``` 如果是使用 Gradle 进行项目管理,可以在 build.gradle 文件中添加以下依赖: ```groovy implementation 'org.apache.httpcomponents:httpclient:4.5.13' ``` 接下来就可以在代码中使用 HttpClient 来发送 HTTP 请求了。下面是一个简单的示例: ```java import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; public class HttpClientExample { public static void main(String[] args) throws Exception { HttpClient httpClient = HttpClientBuilder.create().build(); HttpGet request = new HttpGet("http://example.com"); HttpResponse response = httpClient.execute(request); System.out.println("Response Code: " + response.getStatusLine().getStatusCode()); } } ``` 上述示例中,我们创建了一个 HttpClient 实例,并使用实例发送了一个 GET 请求到 "http://example.com"。获取到的响应存储在 HttpResponse 对象中,我们可以通过调用 `getStatusCode()` 方法获取响应的状态码。 当然,HttpClient 还提供了丰富的 API,可以进行更加复杂的 HTTP 请求和处理。你可以参考 HttpClient 的官方文档来了解更多详细的使用方法和示例。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值