java发送HttpClient请求及接收请求结果过程的简单实例

一.

1、写一个HttpRequestUtils工具类,包括post请求和get请求

package com.brainlong.framework.util.httpclient;
import net.sf.json.JSONObject;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;import java.net.URLDecoder; public class HttpRequestUtils {
private static Logger logger = LoggerFactory.getLogger(HttpRequestUtils.class);
//日志记录   /**   * httpPost   * @param url 路径   * @param jsonParam 参数   * @return   */
public static JSONObject httpPost(String url,JSONObject jsonParam){
return httpPost(url, jsonParam, false);
}
/**   * post请求   * @param url     url地址   * @param jsonParam   参数   * @param noNeedResponse  不需要返回结果   * @return   */
public static JSONObject httpPost(String url,JSONObject jsonParam, boolean noNeedResponse){
//post请求返回结果
DefaultHttpClient httpClient = new DefaultHttpClient();
JSONObject jsonResult = null;
HttpPost method = new HttpPost(url);
try {
if (null != jsonParam) {
//解决中文乱码问题
StringEntity entity = new StringEntity(jsonParam.toString(), "utf-8");
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
method.setEntity(entity);      }
HttpResponse result = httpClient.execute(method);
url = URLDecoder.decode(url, "UTF-8");
/**请求发送成功,并得到响应**/
if (result.getStatusLine().getStatusCode() == 200) {
String str = "";
try {
/**读取服务器返回过来的json字符串数据**/
str = EntityUtils.toString(result.getEntity());
if (noNeedResponse) {
return null;
}
/**把json字符串转换成json对象**/
jsonResult = JSONObject.fromObject(str);
} catch (Exception e) {
logger.error("post请求提交失败:" + url, e);
}
}
} catch (IOException e) {
logger.error("post请求提交失败:" + url, e);
}
return jsonResult;
}
/**   * 发送get请求   * @param url  路径   * @return   */
public static JSONObject httpGet(String url){
//get请求返回结果
JSONObject jsonResult = null;
try {
DefaultHttpClient client = new DefaultHttpClient();
//发送get请求
HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request);
/**请求发送成功,并得到响应**/
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
/**读取服务器返回过来的json字符串数据**/
String strResult = EntityUtils.toString(response.getEntity());
/**把json字符串转换成json对象**/
jsonResult = JSONObject.fromObject(strResult);
url = URLDecoder.decode(url, "UTF-8");
} else {
logger.error("get请求提交失败:" + url);
}
} catch (IOException e) {
logger.error("get请求提交失败:" + url, e);
}
return jsonResult;  }}

2、写业务代码发送Http请求

3、MVC配置文件设置Controller扫描目录

<!-- 自动扫描且只扫描@Controller -->
<context:component-scan base-package="com.wiselong.multichannel" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>

4、接收Http请求

接收post请求

@Controller

@RequestMapping(value = "/api/platform/exceptioncenter/exceptioninfo")

public class ExceptionInfoController {

//注入

@Autowired

private ExceptionInfoBiz exceptionInfoBiz;

/**

* 创建异常信息请求

* @param requestBody 请求消息内容

* @param request 请求消息头

* @return jsonObject

*/

@RequestMapping(

value="/create",

method = RequestMethod.POST

)

public ModelAndView createExceptionInfo(@RequestBody String requestBody, HttpServletRequest request) {

JSONObject jsonObject = JSONObject.fromObject(requestBody);

ComExceptionInfo comExceptionInfo = new ComExceptionInfo();

comExceptionInfo.setProjectName(jsonObject.getString("projectName"));

comExceptionInfo.setTagName(jsonObject.getString("tagName"));

exceptionInfoBiz.insert(comExceptionInfo);

//返回请求结果

JSONObject result= new JSONObject();

result.put("success", "true");

return new ModelAndView("", ResponseUtilsHelper.jsonSuccess(result.toString()));

}

}

接收get请求

@Controller

@RequestMapping(value="/api/platform/messagecenter/messages/sms")

public class SmsController {

@Autowired

SmsSendBiz smsSendBiz;

/**

* 接收手机号码和内容往短信发送表插入一条记录

* @param requestbody 请求消息内容

* @param request 请求消息头

* @return jsonObject

*/

@RequestMapping(

value="/send",

method= RequestMethod.GET

)

public ModelAndView sendSms(@RequestBody String requestbody, HttpServletRequest request) {

//获取请求URL及url后面传输的参数

String url = request.getRequestURL() + "?" + request.getQueryString();

url = BuildRequestUrl.decodeUrl(url);

String telePhone = RequestUtils.getStringValue(request, "telePhone");

String content = RequestUtils.getStringValue(request, "content");

smsSendBiz.insertTtMsQuequ(telePhone,content);

return new ModelAndView("", ResponseUtilsHelper.jsonResult("", true));

}

}

二.

get

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.HttpMethod;

import org.apache.commons.httpclient.methods.GetMethod;

public class H_client_get {

public static void main(String[] args) throws IOException {

// new类对象

HttpClient client = new HttpClient();

// 使用 GET 方法 与URL服务器进行交互

// HttpMethod method = new GetMethod("http://192.168.111.128/bak/regist.php?email=admin@admin.com&password=1234567&re_password=1234567&username=admin&nickname=管理员");

HttpMethod method = new GetMethod("http://192.168.111.128/bak/login.php?username=");

// 使用 GET 方法 ,实行与url服务器连接

client.executeMethod(method);

// 数据流输出

// method.getResponseBodyAsStream 创建字节流对象为inputStream

InputStream inputStream = method.getResponseBodyAsStream();

// InputStreamReader(inputStream)字节流转换成字符流 BufferedReader封装成带有缓冲的字符流对象了 

BufferedReader br = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));

// StringBuffer是字符串变量,它的对象是可以扩充和修改的 创建一个空的StringBuffer类的对象 

StringBuffer stringBuffer = new StringBuffer();

// 定义字符串常量

String str= "";

// br字符流赋值给str字符串常量 str不等于空 按行输出

while((str = br.readLine()) != null){ 

// StringBuffer 是字符串变量,它的对象是可以扩充和修改的 将str数据赋予 stringBuffer 

stringBuffer .append(str ); 

} 

// 按照字符串循环输出stringBuffer

System.out.println(stringBuffer.toString());

// 关闭method 的 httpclient连接

method.releaseConnection();

}

}

post

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import org.apache.commons.httpclient.methods.PostMethod;

import org.apache.commons.httpclient.*;

public class H_client_post {

public static void main(String[] args) throws IOException {

HttpClient client = new HttpClient();

PostMethod method = new PostMethod("http://192.168.111.128/bak/login_post.php");

//表单域的值,既post传入的key=value

NameValuePair[] date = { new NameValuePair("username","admin"),new NameValuePair("password","123457")};

//method使用表单阈值

method.setRequestBody(date);

//提交表单

client.executeMethod(method);

//字符流转字节流 循环输出,同get解释

InputStream inputStream = method.getResponseBodyAsStream();

BufferedReader br = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));

StringBuffer stringBuffer = new StringBuffer();

String str= "";

while((str = br.readLine()) != null){ 

stringBuffer .append(str ); 

} 

System.out.println(stringBuffer.toString());

method.releaseConnection();

}

}

三.

Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会更加深入。

一、简介

HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。

二、特性

1. 基于标准、纯净的java语言。实现了Http1.0和Http1.1

2. 以可扩展的面向对象的结构实现了Http全部的方法(GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)。

3. 支持HTTPS协议。

4. 通过Http代理建立透明的连接。

5. 利用CONNECT方法通过Http代理建立隧道的https连接。

6. Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, SNPNEGO/Kerberos认证方案。

7. 插件式的自定义认证方案。

8. 便携可靠的套接字工厂使它更容易的使用第三方解决方案。

9. 连接管理器支持多线程应用。支持设置最大连接数,同时支持设置每个主机的最大连接数,发现并关闭过期的连接。

10. 自动处理Set-Cookie中的Cookie。

11. 插件式的自定义Cookie策略。

12. Request的输出流可以避免流中内容直接缓冲到socket服务器。

13. Response的输入流可以有效的从socket服务器直接读取相应内容。

14. 在http1.0和http1.1中利用KeepAlive保持持久连接。

15. 直接获取服务器发送的response code和 headers。

16. 设置连接超时的能力。

17. 实验性的支持http1.1 response caching。

18. 源代码基于Apache License 可免费获取。

三、使用方法

使用HttpClient发送请求、接收响应很简单,一般需要如下几步即可。

1. 创建HttpClient对象。

2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。

3. 如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(HetpParams params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity entity)方法来设置请求参数。

4. 调用HttpClient对象的execute(HttpUriRequest request)发送请求,该方法返回一个HttpResponse。

5. 调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。

6. 释放连接。无论执行方法是否成功,都必须释放连接

四、实例

package com.test; 

import java.io.File; 

import java.io.FileInputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.util.ArrayList;
import java.util.List;
import javax.net.ssl.SSLContext;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLContexts;
import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.junit.Test;
public class HttpClientTest {
  @Test
  public void jUnitTest() {
    get();
  }
  /**
   * HttpClient连接SSL
   */
  public void ssl() {
    CloseableHttpClient httpclient = null;
    try {
      KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
      FileInputStream instream = new FileInputStream(new File("d:\\tomcat.keystore"));
      try { 54.
        // 加载keyStore d:\\tomcat.keystore
        trustStore.load(instream, "123456".toCharArray());
      } catch (CertificateException e) {
        e.printStackTrace();
      } finally {
        try {
          instream.close();
        } catch (Exception ignore) {
        }
      }
      // 相信自己的CA和所有自签名的证书
      SSLContext sslcontext = SSLContexts.custom().loadTrustMaterial(trustStore, new TrustSelfSignedStrategy()).build();
      // 只允许使用TLSv1协议
      SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, new String[] { "TLSv1" }, null,
          SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
      httpclient = HttpClients.custom().setSSLSocketFactory(sslsf).build();
      // 创建http请求(get方式)
      HttpGet httpget = new HttpGet("https://localhost:8443/myDemo/Ajax/serivceJ.action");
      System.out.println("executing request" + httpget.getRequestLine());
      CloseableHttpResponse response = httpclient.execute(httpget);
      try {
        HttpEntity entity = response.getEntity();
        System.out.println("----------------------------------------");
        System.out.println(response.getStatusLine());
        if (entity != null) {
          System.out.println("Response content length: " + entity.getContentLength());
          System.out.println(EntityUtils.toString(entity));
          EntityUtils.consume(entity);
        }
      } finally {
        response.close();
      }
    } catch (ParseException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    } catch (KeyManagementException e) {
      e.printStackTrace();
    } catch (NoSuchAlgorithmException e) {
      e.printStackTrace();
    } catch (KeyStoreException e) {
      e.printStackTrace();
    } finally {
      if (httpclient != null) {
        try {
          httpclient.close();
        } catch (IOException e) {
          e.printStackTrace(); 

        }
      }
    }
  } 

  /**
   * post方式提交表单(模拟用户登录请求)
   */
  public void postForm() {
    // 创建默认的httpClient实例.
    CloseableHttpClient httpclient = HttpClients.createDefault();
    // 创建httppost
    HttpPost httppost = new HttpPost("http://localhost:8080/myDemo/Ajax/serivceJ.action");
    // 创建参数队列
    List<namevaluepair> formparams = new ArrayList<namevaluepair>();
    formparams.add(new BasicNameValuePair("username", "admin")); 

    formparams.add(new BasicNameValuePair("password", "123456")); 

    UrlEncodedFormEntity uefEntity; 

    try { 

      uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8"); 

      httppost.setEntity(uefEntity); 

      System.out.println("executing request " + httppost.getURI()); 

      CloseableHttpResponse response = httpclient.execute(httppost); 

      try { 

        HttpEntity entity = response.getEntity(); 

        if (entity != null) { 

          System.out.println("--------------------------------------"); 

          System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8")); 

          System.out.println("--------------------------------------"); 

        } 

      } finally { 

        response.close(); 

      } 

    } catch (ClientProtocolException e) { 

      e.printStackTrace(); 

    } catch (UnsupportedEncodingException e1) { 

      e1.printStackTrace(); 

    } catch (IOException e) { 

      e.printStackTrace(); 

    } finally { 

      // 关闭连接,释放资源  

      try { 

        httpclient.close(); 

      } catch (IOException e) { 

        e.printStackTrace(); 

      } 

    } 

  }
  /**
   * 发送 post请求访问本地应用并根据传递参数不同返回不同结果
   */ 

  public void post() { 

    // 创建默认的httpClient实例.  

    CloseableHttpClient httpclient = HttpClients.createDefault(); 

    // 创建httppost  

    HttpPost httppost = new HttpPost("http://localhost:8080/myDemo/Ajax/serivceJ.action"); 

    // 创建参数队列  

    List<namevaluepair> formparams = new ArrayList<namevaluepair>(); 

    formparams.add(new BasicNameValuePair("type", "house")); 

    UrlEncodedFormEntity uefEntity; 

    try { 

      uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");
      httppost.setEntity(uefEntity);
      System.out.println("executing request " + httppost.getURI());
      CloseableHttpResponse response = httpclient.execute(httppost);
      try {
        HttpEntity entity = response.getEntity(); 

        if (entity != null) { 

          System.out.println("--------------------------------------"); 

          System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8")); 

          System.out.println("--------------------------------------"); 

        } 

      } finally { 

        response.close(); 

      } 

    } catch (ClientProtocolException e) { 

      e.printStackTrace(); 

    } catch (UnsupportedEncodingException e1) { 

      e1.printStackTrace(); 

    } catch (IOException e) { 

      e.printStackTrace(); 

    } finally { 

      // 关闭连接,释放资源  

      try { 

        httpclient.close(); 

      } catch (IOException e) { 

        e.printStackTrace(); 

      } 

    } 

  } 

  /** 

   * 发送 get请求
   */ 

  public void get() { 

    CloseableHttpClient httpclient = HttpClients.createDefault(); 

    try { 

      // 创建httpget.  

      HttpGet httpget = new HttpGet("http://www.baidu.com/"); 

      System.out.println("executing request " + httpget.getURI()); 

      // 执行get请求.  

      CloseableHttpResponse response = httpclient.execute(httpget); 

      try { 

        // 获取响应实体  

        HttpEntity entity = response.getEntity(); 

        System.out.println("--------------------------------------"); 

        // 打印响应状态  

        System.out.println(response.getStatusLine()); 

        if (entity != null) { 

          // 打印响应内容长度  

          System.out.println("Response content length: " + entity.getContentLength()); 

          // 打印响应内容  

          System.out.println("Response content: " + EntityUtils.toString(entity)); 

        } 

        System.out.println("------------------------------------"); 

      } finally { 

        response.close(); 

      } 

    } catch (ClientProtocolException e) { 

      e.printStackTrace(); 

    } catch (ParseException e) { 

      e.printStackTrace(); 

    } catch (IOException e) { 

      e.printStackTrace(); 

    } finally { 

      // 关闭连接,释放资源  

      try { 

        httpclient.close(); 

      } catch (IOException e) { 

        e.printStackTrace(); 

      } 

    } 

  } 

  /**
   * 上传文件 

   */ 

  public void upload() { 

    CloseableHttpClient httpclient = HttpClients.createDefault(); 

    try { 

      HttpPost httppost = new HttpPost("http://localhost:8080/myDemo/Ajax/serivceFile.action"); 

      FileBody bin = new FileBody(new File("F:\\image\\sendpix0.jpg")); 

      StringBody comment = new StringBody("A binary file of some kind", ContentType.TEXT_PLAIN); 

      HttpEntity reqEntity = MultipartEntityBuilder.create().addPart("bin", bin).addPart("comment", comment).build(); 

      httppost.setEntity(reqEntity); 

      System.out.println("executing request " + httppost.getRequestLine()); 

      CloseableHttpResponse response = httpclient.execute(httppost); 

      try { 

        System.out.println("----------------------------------------"); 

        System.out.println(response.getStatusLine()); 

        HttpEntity resEntity = response.getEntity(); 

        if (resEntity != null) { 

          System.out.println("Response content length: " + resEntity.getContentLength()); 

        } 

        EntityUtils.consume(resEntity); 

      } finally { 

        response.close(); 

      } 

    } catch (ClientProtocolException e) { 

      e.printStackTrace(); 

    } catch (IOException e) { 

      e.printStackTrace(); 

    } finally { 

      try { 

        httpclient.close(); 

      } catch (IOException e) { 

        e.printStackTrace(); 

      } 

    } 

  } 

}</namevaluepair></namevaluepair></namevaluepair></namevaluepair> 

以上这篇java发送HttpClient请求及接收请求结果过程的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 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

  • JAVA利用HttpClient进行POST请求(HTTPS)实例

    最近,需要对客户的接口做一个包装,然后供自己公司别的系统调用,客户接口是用HTTP URL实现的,我想用HttpClient包进行请求,同时由于请求的URL是HTTPS的,为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程. 1.写一个SSLClient类,继承至HttpClient package com.pcmall.service.sale.miaomore.impl; import java.security.cert.CertificateExcept

  • 基于Java HttpClient和Htmlparser实现网络爬虫代码

    开发环境的搭建,在工程的 Build Path 中导入下载的Commons-httpClient3.1.Jar,htmllexer.jar 以及 htmlparser.jar 文件. 图 1. 开发环境搭建 HttpClient 基本类库使用 HttpClinet 提供了几个类来支持 HTTP 访问.下面我们通过一些示例代码来熟悉和说明这些类的功能和使用. HttpClient 提供的 HTTP 的访问主要是通过 GetMethod 类和 PostMethod 类来实现的,他们分别对应了 HTT

  • java使用httpclient发送post请求示例

    复制代码 代码如下: package org.ssi.util; import java.io.IOException;import java.util.ArrayList;import java.util.List; import net.sf.json.JSONArray; import org.apache.commons.lang.exception.ExceptionUtils;import org.apache.commons.logging.Log;import org.apach

  • HttpClient 在Java项目中的使用详解

    Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性.因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会更加深入. 一.简介 HttpClient是Apache Jakarta Common下的子项目,用

  • JAVA通过HttpClient发送HTTP请求的方法示例

    HttpClient介绍 HttpClient 不是一个浏览器.它是一个客户端的 HTTP 通信实现库.HttpClient的目标是发 送和接收HTTP 报文.HttpClient不会去缓存内容,执行 嵌入在 HTML 页面中的javascript 代码,猜测内容类型,重新格式化请求/重定向URI,或者其它和 HTTP 运输无关的功能. HttpClient使用 使用需要引入jar包,maven项目引入如下: <dependency> <groupId>org.apache.htt

  • java实现HttpClient异步请求资源的方法

    本文实例讲述了java实现HttpClient异步请求资源的方法.分享给大家供大家参考.具体实现方法如下: package demo; import java.util.concurrent.CountDownLatch; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.nio.client.DefaultHttpAsyn

  • java web中 HttpClient模拟浏览器登录后发起请求

    HttpClient模拟浏览器登录后发起请求 浏览器实现这个效果需要如下几个步骤: 1请求一个需要登录的页面或资源 2服务器判断当前的会话是否包含已登录信息.如果没有登录重定向到登录页面 3手工在登录页面录入正确的账户信息并提交 4服务器判断登录信息是否正确,如果正确则将登录成功信息保存到session中 5登录成功后服务器端给浏览器返回会话的SessionID信息保存到客户端的Cookie中 6浏览器自动跳转到之前的请求地址并携带之前的Cookie(包含登录成功的SessionID) 7服务器

  • Java利用HttpClient模拟POST表单操作应用及注意事项

    HttpClient使用post方法提交数据 源代码: 复制代码 代码如下: package post; import Java.io.IOException; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commo

  • java发送HttpClient请求及接收请求结果过程的简单实例

    一. 1.写一个HttpRequestUtils工具类,包括post请求和get请求 package com.brainlong.framework.util.httpclient; import net.sf.json.JSONObject; import org.apache.commons.httpclient.HttpStatus; import org.apache.http.HttpResponse; import org.apache.http.client.methods.Htt

  • java判断今天,昨天,前天,不能用秒间隔的简单实例

    实例如下: 一 json optString 解析的TimesTamp string 二 long dateSec = (long) (Double.valueOf(timestamp) * 1000); 三 Date date=new Date(dateSec); 四 getTimestampString(date); public static String getTimestampString(Date paramDate) { String str = null; long l = pa

  • java发送get请求和post请求示例

    java向服务端发送GET和POST请求 复制代码 代码如下: package com.hongyuan.test; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.HttpURLConnection;import java.net.URL; public class HttpCl

  • Java 转型(向上或向下转型)详解及简单实例

    在Java编程中经常碰到类型转换,对象类型转换主要包括向上转型和向下转型. 向上转型 我们在现实中常常这样说:这个人会唱歌.在这里,我们并不关心这个人是黑人还是白人,是成人还是小孩,也就是说我们更倾向于使用抽象概念"人".再例如,麻雀是鸟类的一种(鸟类的子类),而鸟类则是动物中的一种(动物的子类).我们现实中也经常这样说:麻雀是鸟.这两种说法实际上就是所谓的向上转型,通俗地说就是子类转型成父类.这也符合Java提倡的面向抽象编程思想.来看下面的代码: package a.b; publ

  • Java使用HttpClient详细示例

    目录 准备环节 第一步:在pom.xml中引入HttpClient的依赖 第二步:引入fastjson依赖 详细使用示例 GET无参: GET有参(方式一:直接拼接URL): GET有参(方式二:使用URI获得HttpGet): POST无参: POST有参(普通参数): POST有参(对象参数): POST有参(普通参数 + 对象参数): 对评论区关注度较高的问题进行相关补充: 解决响应乱码问题(示例): 进行HTTPS请求并进行(或不进行)证书校验(示例): 相关方法详情(非完美封装): a

  • Java 使用 HttpClient 发送 GET请求和 POST请求

    目录 概述 认证方式 基础认证Auth 用户名密码认证 Bearer Token 认证 配置超时 生成 RequestConfig 设置超时时间 概述 日常工作中,我们经常会有发送 HTTP 网络请求的需求,概括下我们常见的发送 HTTP 请求的需求内容: 可以发送基本的 GET/POST/PUT/DELETE 等请求: HTTP请求,可以附带认证,包括基本的 用户名/密码 认证,以及 Bearer Token 认证: 请求可以自定义 超时时间: HTTP请求可以带参数,也可以不带参数: HTT

  • 详解Java发送HTTP请求

    前言 请求http的Demo是个人亲测过,目前该方式已经在线上运行着.因为是http请求,所有发送post 和get 请求的demo都有在下方贴出,包括怎么测试,大家可直接 copy到自己的项目中使用. 正文 使用须知 为了避免大家引错包我把依赖和涉及到包路径给大家 import java.net.HttpURLConnection; import java.net.URI; import org.apache.http.HttpResponse; import org.apache.http.

  • Java 发送http请求(get、post)的示例

    1.情景展示 java发送get请求.post请求(form表单.json数据)至另一服务器: 可设置HTTP请求头部信息,可以接收服务器返回cookie信息,可以上传文件等: 2.代码实现 所需jar包:httpcore-4.4.1.jar:httpclient-4.4.1.jar:httpmime-4.4.1.jar:epoint-utils-9.3.3.jar import java.io.File; import java.io.IOException; import java.io.I

  • Java使用HttpClient实现Post请求实例

    基于项目需求,想要实现Post消息推送,故采用HttpClient组件进行实现,相关代码如下(注:程序采用的httpclient和httpcore依赖包的版本为4.2.5): import org.apache.http.Header; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache

  • java发送url请求获取返回值的二种方法

    下面提供二种方法会使用java发送url请求,并获取服务器返回的值 第一种方法: 复制代码 代码如下: import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFor

随机推荐