`
tcspecial
  • 浏览: 901892 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java http get

    博客分类:
  • java
阅读更多

一般在java处理Get/Post请求,用的比较多是apache的commons-httpclient.jar库,封装比较彻底,使用比较简单。有些简单应用场合,不需要使用httpclient库,可以直接使用Java内置URLConnection类。

 

客户端:

public String getInfoFromServ( String path ){
	BufferedReader in = null;
	String result = "";
	
	try {
		URL url = new URL(path);
		URLConnection urlcon = url.openConnection();

		// 设置读取编码 UTF-8
		in = new BufferedReader(new InputStreamReader(urlcon.getInputStream(),"UTF-8"));
		String line;
		
		// 循环读取多行内容,注源服务器内容一定要以\n结尾
		while ((line = in.readLine()) != null) {
			result += line;
		}
	} catch (IOException e) {
		e.printStackTrace();
	}finally{
		if( in != null){
			try {
				in.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
	// 解析出resultData字段
	JSONObject json = null;
	try {
		json = new JSONObject(result);
		result = json.getString("resultData");
	} catch (Exception e) {
		e.printStackTrace();
	}
	
	return result;
}

 

    通过URLConnection的getInputStream()获取输入流,然后通过BufferedReader逐行读取。上述代码在测试环境中正常,能取到服务器完整的JSON字段值,但是部署到现场后,发现只能取到部分JSON字段,这Java不是跨平台的么,服务器不同执行结果还不同了?最后发现是由于服务器端返回内容格式问题,BufferedReader是逐行读取,每行以\n结尾。可能由于java版本不同,代码做了相应优化所致。

 

服务端:

rep.setContentType("text/json;charset=utf-8");
PrintWriter out = rep.getWriter();
out.println(strJson);	// 调用println()输出换行符,不用print()
out.flush();

 

附:org.json

 

 

 

 

分享到:
评论

相关推荐

    Java HttpGetServer HTTP 服务器

    本篇文章将深入探讨“Java HttpGetServer HTTP服务器”的相关知识点,主要涉及如何利用Java实现一个简单的HTTP服务器,理解HTTP请求与响应的基本原理,并探讨源码和实用工具。 首先,我们需要了解HTTP(超文本传输...

    HttpGet.rar_httpget_java HttpGet_java download save

    标题中的"HttpGet.rar_httpget_java HttpGet_java download save"表明这是一个关于使用Java实现HttpGet方法进行文件下载并保存的示例。HttpGet是HTTP协议中的一个请求方法,常用于从服务器获取资源。在这个项目中,...

    java httpGet 客户端请求

    本工具类是java使用httpClient进行请求的时候 设置的连接超时问题.

    java通过HTTP调用接口(Get请求和Post请求)

    java调用HTTP接口(Get请求和Post请求)

    java http 接口调用 的get和post传参方法

    java实现调用httpclient接口的类和方法,包括了get和post传参方式,简单易懂

    java实现httpget和httppost请求jar包

    利用这两个jar包,很简单的用java实现httpget和httppost请求。

    java中发送http包,包含get及post请求

    在Java中,可以使用`HttpGet`类来创建一个GET请求。以下是一个简单的示例: ```java import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org....

    HttpGet的使用

    在Web开发中,HttpClient库是Java程序员常用的工具,它提供了HttpGet类,使得我们能够方便地发起HTTP GET请求并获取响应。下面将详细介绍HttpGet的使用方法及其相关的HTTP知识。 首先,理解HTTP协议的基本概念至关...

    使用java通过Get请求进行爬虫操作

    HttpGet httpGet = new HttpGet("http://example.com"); ``` 4. **设置请求头** 如果需要模拟浏览器或设置特定的请求头(如User-Agent),可以使用`addHeader()`方法。 ```java httpGet.addHeader("User-Agent...

    java实现httpget和httppost请求httpclient-4.3.1.jar包

    利用httpclient-4.3.1.jar、httpcore-4.3.jar包,很简单的用java实现httpget和httppost请求。

    http发送Get和Post请求工具类

    在Java编程中,HTTP协议是网络通信的基础,用于客户端与服务器之间的数据交换。本文将详细介绍一个封装了HTTP GET和POST请求的工具类,以及如何使用此类进行网络请求。该工具类支持HTTPS,确保数据传输的安全性。 ...

    javaHttp的get与post自带api简单实现

    javahttp的简单使用。javaHttp的get与post自带api简单实现。java get post的使用记录

    java发送http get请求的两种方法(总结)

    HttpGet httpGet = new HttpGet(); // 设置参数 try { httpGet.setURI(new URI(url)); } catch (URISyntaxException e) { throw new HttpException("请求url格式错误。" + e.getMessage()); } // 发送请求 ...

    JAVA HTTP请求示例

    HttpGet httpGet = new HttpGet("http://example.com"); HttpPost httpPost = new HttpPost("http://example.com"); ``` 3. **添加请求头和实体**:使用`setHeader`方法添加请求头,`setEntity`方法添加请求体。 `...

    httppost和httpget需要的jar包

    在Java中,我们使用HttpClient的`HttpGet`类来实现。创建`HttpGet`对象,设置URL即可。例如: ```java HttpGet httpGet = new HttpGet("http://example.com/api"); ``` 4. **添加依赖**: 在Java项目中,你...

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

    以上就是Java中发送HTTP/HTTPS GET和POST请求的基本概念,以及处理JSON数据的方法。在实际应用中,还需要考虑错误处理、性能优化和其他安全因素。如果需要更复杂的功能,建议使用成熟的HTTP客户端库。

    HttpClient使用HttpGet进行json数据传输(所使用的jar.zip)

    HttpGet httpGet = new HttpGet("http://example.com/api/data"); httpGet.setHeader("Accept", "application/json"); httpGet.setHeader("Content-Type", "application/json"); ``` 4. **配置请求参数**:如果...

    后台模拟发送GET和POST请求

    2. 构建HttpGet或HttpPost对象:根据请求类型,创建HttpGet或HttpPost对象,并指定请求的URL。 ```java HttpGet getReq = new HttpGet("http://example.com"); HttpPost postReq = new HttpPost(...

    HTTP接口测试实例(GET方式)

    举例对国家气象局接口自动化测试进行讲解(Get请求及结果断言),以达到自动化测试入门目的。

Global site tag (gtag.js) - Google Analytics