gpt4 book ai didi

java使用httpclient模拟post请求和get请求示例

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章java使用httpclient模拟post请求和get请求示例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

代码如下

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

  。

import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.cookie.CookiePolicy; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.params.HttpMethodParams,

public class TestHttpClient { 。

 public static void main(String[] args) {   // TODO Auto-generated method stub   //定义httpClient的实例   HttpClient httpclient = new HttpClient();   //创建get方法的实例   GetMethod getMethod = new GetMethod("http://jb51.net");   //使用系统提供的默认恢复策略 //  getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());      //创建post方法实例   PostMethod postMethod = new UTF8PostMethod("http://jb51.net"); //   //  //填入各个表单域的值 //  NameValuePair[] data = {new NameValuePair("user_name", "user_name"),new NameValuePair("password","password")}; //   //  //将表单的值放入到post方法中 //  postMethod.setRequestBody(data); //   //  postMethod.getParams().setParameter( //    "http.protocol.cookie-policy",CookiePolicy.BROWSER_COMPATIBILITY); //  postMethod.setRequestHeader("Referer", "http://jb51.net");   try{    //执行GET方法 //   int statusCode = httpclient.executeMethod(getMethod),

   //执行post方法    int statusCode = httpclient.executeMethod(postMethod);    if(statusCode == HttpStatus.SC_MOVED_TEMPORARILY){     Header locationHeader = postMethod.getResponseHeader("Location");     String location = null;     if(locationHeader != null){      location = locationHeader.getValue();     }     postMethod = new PostMethod(location);     postMethod.setRequestHeader("Referer", "http://jb51.net/login");     NameValuePair[] data1 = {new NameValuePair("user_name", "user_name"),new NameValuePair("password","password")};     postMethod.setRequestBody(data1);     postMethod.getParams().setParameter(       "http.protocol.cookie-policy",CookiePolicy.BROWSER_COMPATIBILITY);     int statusCode1 = httpclient.executeMethod(postMethod);     if(statusCode1 != HttpStatus.SC_OK){      System.out.println("Method is wrong " + postMethod.getStatusLine());     }    }    if(statusCode != HttpStatus.SC_OK){     System.out.println("Method is wrong " + postMethod.getStatusLine());    }    InputStream responseBody = postMethod.getResponseBodyAsStream();    BufferedReader reader = new BufferedReader(new InputStreamReader(responseBody,"utf-8"));    String line = reader.readLine();    while(line != null){     System.out.println(new String(line.getBytes()));     line = reader.readLine();    }   }   catch (HttpException e) {    // TODO: handle exception    System.out.println("Please check your provided http address!");    e.printStackTrace();   }catch (IOException e) {    // TODO: handle exception    System.out.println("the line is wrong!");    e.printStackTrace();   }finally{    getMethod.releaseConnection();//释放链接    postMethod.releaseConnection();   }  }  //Inner class for UTF-8 support     public static class UTF8PostMethod extends PostMethod{      public UTF8PostMethod(String url){      super(url);      }      @Override      public String getRequestCharSet() {       //return super.getRequestCharSet();       return "UTF-8";      }  } 。

} 。

  。

最后此篇关于java使用httpclient模拟post请求和get请求示例的文章就讲到这里了,如果你想了解更多关于java使用httpclient模拟post请求和get请求示例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com