一般在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实现一个简单的HTTP服务器,理解HTTP请求与响应的基本原理,并探讨源码和实用工具。 首先,我们需要了解HTTP(超文本传输...
标题中的"HttpGet.rar_httpget_java HttpGet_java download save"表明这是一个关于使用Java实现HttpGet方法进行文件下载并保存的示例。HttpGet是HTTP协议中的一个请求方法,常用于从服务器获取资源。在这个项目中,...
利用这两个jar包,很简单的用java实现httpget和httppost请求。
本工具类是java使用httpClient进行请求的时候 设置的连接超时问题.
java调用HTTP接口(Get请求和Post请求)
以上就是Java中发送HTTP/HTTPS GET和POST请求的基本概念,以及处理JSON数据的方法。在实际应用中,还需要考虑错误处理、性能优化和其他安全因素。如果需要更复杂的功能,建议使用成熟的HTTP客户端库。
java实现调用httpclient接口的类和方法,包括了get和post传参方式,简单易懂
在Java中,可以使用`HttpGet`类来创建一个GET请求。以下是一个简单的示例: ```java import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org....
HttpGet httpGet = new HttpGet(requestUrl); // 构建HttpGet对象并设置请求URL try { HttpResponse response = httpClient.execute(httpGet); // 执行GET请求 HttpEntity entity = response.getEntity(); // ...
在Web开发中,HttpClient库是Java程序员常用的工具,它提供了HttpGet类,使得我们能够方便地发起HTTP GET请求并获取响应。下面将详细介绍HttpGet的使用方法及其相关的HTTP知识。 首先,理解HTTP协议的基本概念至关...
HttpGet httpGet = new HttpGet("http://example.com"); ``` 4. **设置请求头** 如果需要模拟浏览器或设置特定的请求头(如User-Agent),可以使用`addHeader()`方法。 ```java httpGet.addHeader("User-Agent...
程序使用java.net.URL、java.net.HttpURLConnection 初始化URL对象:使用给定的URL地址创建URL对象。 打开连接:使用URL对象的openConnection()方法创建HttpURLConnection对象。 设置请求属性:设置请求方法为GET,...
利用httpclient-4.3.1.jar、httpcore-4.3.jar包,很简单的用java实现httpget和httppost请求。
在Java编程中,HTTP协议是网络通信的基础,用于客户端与服务器之间的数据交换。本文将详细介绍一个封装了HTTP GET和POST请求的工具类,以及如何使用此类进行网络请求。该工具类支持HTTPS,确保数据传输的安全性。 ...
javahttp的简单使用。javaHttp的get与post自带api简单实现。java get post的使用记录
HttpGet httpGet = new HttpGet(); // 设置参数 try { httpGet.setURI(new URI(url)); } catch (URISyntaxException e) { throw new HttpException("请求url格式错误。" + e.getMessage()); } // 发送请求 ...
HttpGet httpGet = new HttpGet("http://example.com/api/data"); httpGet.setHeader("Accept", "application/json"); httpGet.setHeader("Content-Type", "application/json"); ``` 4. **配置请求参数**:如果...
HttpGet httpGet = new HttpGet("http://example.com"); HttpPost httpPost = new HttpPost("http://example.com"); ``` 3. **添加请求头和实体**:使用`setHeader`方法添加请求头,`setEntity`方法添加请求体。 `...
在Java中,我们使用HttpClient的`HttpGet`类来实现。创建`HttpGet`对象,设置URL即可。例如: ```java HttpGet httpGet = new HttpGet("http://example.com/api"); ``` 4. **添加依赖**: 在Java项目中,你...