`

Java发送http请求

    博客分类:
  • Java
阅读更多

结合网络资源,整理Java调用http请求调用接口 等 方法。

 

代码如下:

package com.sgcy.sendPost;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.Map;

public class SendHttpRequestter {

	private String defaultContentEncoding;

	public SendHttpRequestter() {
		this.defaultContentEncoding = Charset.defaultCharset().name();
	}
	
	/**
	 * 发送Get请求
	 * @param urlString
	 * @param params
	 * @return
	 */
	public String sendGet(String url, Map<String, String> params){
		return this.send(url, "GET", params);
	}
	
	
	/**
	 * 发送post请求
	 * @param urlString URL路径
	 * @param params 传递的参数
	 * @return
	 */
	public String sendPost(String url, Map<String, String> params){
		return this.send(url, "POST", params);
	}
	
	/**
	 * 发送HTTP请求
	 * 
	 * @param urlString
	 * @return 请求结果
	 */
	private String send(String urlStr, String method,
			Map<String, String> parameters){
		HttpURLConnection urlConnection = null;

		//封装Get请求路径,Get为不加密请求路径 
		if (method.equalsIgnoreCase("GET") && parameters != null) {
			StringBuffer param = new StringBuffer();
			int i = 0;
			for (String key : parameters.keySet()) {
				if (i == 0)
					param.append("?");
				else
					param.append("&");
				param.append(key).append("=").append(parameters.get(key));
				i++;
			}
			urlStr += param;
		}
		
		try {
			URL url = new URL(urlStr);
			//请求配置,可根据实际情况采用灵活配置
			urlConnection = (HttpURLConnection) url.openConnection();
			urlConnection.setRequestMethod(method);
			urlConnection.setDoOutput(true);
			urlConnection.setDoInput(true);
			urlConnection.setUseCaches(false);
			urlConnection.setConnectTimeout(5000);
			urlConnection.setRequestProperty("Charsert", "UTF-8");
			urlConnection.setRequestProperty("Content-Type", "application/json");
			//封装post请求参数,
			if (method.equals("POST") && parameters != null) {
				StringBuffer param = new StringBuffer();
				param.append("{");
				param.append("\"userid\"").append(":\"").append(parameters.get("userid"));// "\"userid\"" \标识强转"号,因为参数传递时需要使用""
				param.append("\"}");
				
				urlConnection.getOutputStream().write(param.toString().getBytes());//写入参数,必须为byte  OutputStream 只能接收byte类型
				urlConnection.getOutputStream().flush();
				urlConnection.getOutputStream().close();
				urlConnection.connect();
			}
			//调用http请求
			return this.makeContent(urlConnection);
		} catch (Exception e) {
			e.printStackTrace();
			return "0000";//异常返回0000
		}
	}
	
	/**
	 * 得到响应对象
	 * 
	 * @param urlConnection
	 * @return 响应对象
	 * @throws Exception
	 */
	private String makeContent(HttpURLConnection urlConnection){
		try {
			InputStream in = urlConnection.getInputStream();
			BufferedReader bufferedReader = new BufferedReader(
					new InputStreamReader(in, "UTF-8"));
			StringBuffer temp = new StringBuffer();
			String line = bufferedReader.readLine();
			while (line != null) {
				temp.append(line);
				line = bufferedReader.readLine();
			}
			bufferedReader.close();

			JSONObject jsonObject = new JSONObject(temp.toString());
			return jsonObject.get("result").toString();//result 为接口返回json数据对象key值
		} catch (Exception e) {
			e.printStackTrace();
			return "0000";//异常返回0000
		} finally {
			if (urlConnection != null)
				urlConnection.disconnect();
		}
	}
	
	
	/**
	 * 默认的响应字符集
	 */
	public String getDefaultContentEncoding() {
		return this.defaultContentEncoding;
	}

	/**
	 * 设置默认的响应字符集
	 */
	public void setDefaultContentEncoding(String defaultContentEncoding) {
		this.defaultContentEncoding = defaultContentEncoding;
	}
}

 

注明:代码中因数据格式问题,采用了json 转换数据格式,后附json包。

 

 

分享到:
评论

相关推荐

    JAVA 发送http请求工具类

    在Java中,我们可以使用`java.net.HttpURLConnection`或`org.apache.http.client.HttpClient`(Apache HttpClient库)来发送HTTP请求。这两个方法各有优劣:`HttpURLConnection`是Java内置的API,更轻量级,但功能...

    java发送http请求

    下面我们将详细讨论如何使用Java发送HTTP请求,以及如何处理返回的HTTP响应内容。 首先,创建一个名为`HttpRequester`的类,用于封装HTTP请求的逻辑。在类中,定义一个默认的字符编码`defaultContentEncoding`,...

    Java发送Http请求,解析html返回

    Java发送Http请求,解析html返回

    java发送http请求报文json

    java发送http请求报文json

    Java发送Http请求工具类

    这是一个java发送get、post请求,并得到返回结果的工具类。

    Java发送HTTP请求GET/POST测试

    总的来说,Java发送HTTP请求GET/POST是网络编程的基础,理解和掌握这些知识对于进行Web服务的开发和集成至关重要。无论是简单的数据获取还是复杂的数据交互,都能通过这些方法实现。通过实践项目,你可以更好地理解...

    JAVA发送HTTP请求,返回HTTP响应内容

    JAVA发送HTTP请求,返回HTTP响应内容 首先让我们先构建一个请求类(HttpRequester)。 该类封装了JAVA实现简单请求的代码。 其次我们来看看响应对象(HttpRespons)。响应对象其实只是一个数据BEAN,由此来封装请求...

    java发送http请求并获取状态码的简单实例

    下面小编就为大家带来一篇java发送http请求并获取状态码的简单实例。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JAVA发送HTTP请求,返回HTTP响应内容,应用及实例代码

    这里我们将详细讲解如何使用Java发送HTTP请求,并获取响应内容。 首先,我们需要创建一个用于封装HTTP请求逻辑的类,如`HttpRequester`。这个类通常包含多个方法,分别对应不同的HTTP请求类型,例如GET和POST。以下...

    JAVA发送HTTP请求操作类

    JAVA发送HTTP请求操作类 HttpRequester request = new HttpRequester(); HttpRespons hr = request.sendPost("响应地址", 参数Map);//有重载,可设置请求头、请求体 hr获得回执内容

    java发送http请求工具类

    在Java编程中,发送HTTP请求是一项常见的任务,无论是获取网页数据、调用API接口还是进行自动化测试,都可能涉及到。本篇文章将详细讲解一个简单的Java工具类,用于发送HTTP请求,该工具类名为HttpURLUtils。 首先...

    java发送http/https请求(get/post)Demo,亲测可用

    这里我们将深入探讨如何使用Java发送GET和POST请求,以及处理JSON数据。 首先,让我们关注GET请求。GET请求主要用于从服务器获取资源,其参数通常包含在URL中。在Java中,可以使用`HttpURLConnection`类或者第三方...

    Java 发送http请求上传文件功能实例

    Java 发送 HTTP 请求上传文件功能实例 本文将通过实例代码介绍 Java 发送 HTTP 请求上传文件功能,涵盖了发送 GET 请求、发送 POST 请求、上传文件等内容。下面是详细的知识点说明: 发送 GET 请求 在 Java 中,...

    Java编程:发送HTTP请求,返回响应内容

    总的来说,Java发送HTTP请求和处理响应涉及网络编程、HTTP协议理解、异常处理、输入/输出流操作,以及可能的HTML解析和网页爬虫技术。这些知识对于任何想要构建Web客户端应用或进行数据抓取的开发者来说都是必不可少...

    详解Java发送HTTP请求

    Java 发送 HTTP 请求详解 Java 是一种流行的编程语言,广泛应用于移动应用程序、Web 应用程序和企业软件开发等领域。其中,发送 HTTP 请求是 Java 编程中的一项重要技术。本文将详细介绍 Java 发送 HTTP 请求的方法...

    java-http请求jar包

    Java发送HTTP请求是进行网络通信的基本操作之一,广泛应用于数据获取、API调用等场景。在Java中,Apache HttpClient库是一个强大的工具,它允许开发者高效、灵活地处理HTTP请求。这个"java-http请求jar包"实际上就是...

    通过java.net.URLConnection发送HTTP请求

    在Java编程中,`java.net.URLConnection`是用于与网络资源建立连接的类,它可以用来发送HTTP请求。这篇博客文章可能详细介绍了如何使用URLConnection来实现这个功能。在Java中,当我们需要与Web服务器进行交互,比如...

    HttpClient发送http请求(post和get)需要的jar包+内符java代码案例+注解详解

    在Java编程中,HttpClient是一个非常重要的工具库,用于发送HTTP请求。这个压缩包可能包含了实现HTTP GET和POST请求所需的jar包以及示例代码,帮助开发者理解如何使用HttpClient进行网络通信。下面将详细介绍...

    400多条冷笑话,可以用来练习sql使用,这是我用Java发送http请求获取到的

    400多条冷笑话,可以用来练习sql使用,这是我用Java发送http请求获取到的,有重复的冷笑话,总条数达到五十五万多条,是用mysqldump导出来的,字符集使用的是utf8,数据库引擎是用innodb,欢迎大家下载使用。

Global site tag (gtag.js) - Google Analytics