HttpURL连接远程serverGet和Post方式请求并返回数据
2023-09-11 14:14:42 时间
查看原文:http://www.ibloger.net/article/1813.html
package cn.gis; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; /** * 路径分析 */ public class GISData { /** * Get请求方式 * * @param urlAddress 请求地址 * @param encodedType 编码方式,UTF-8,GBK... */ public static String getData(String urlAddress, String encodedType) { try { URL url = new URL(urlAddress); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 打开和URL之间的联接 // 获取返回数据,使用 utf-8 将流数据进行转码。否则会产生乱码 BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), encodedType)); String line = null; StringBuffer sb = new StringBuffer(); while ((line = in.readLine()) != null) { sb.append(line); } in.close(); // 关闭流 return sb.toString(); } catch (Exception e) { e.printStackTrace(); } return ""; } /** * POST 请求方式 * * @param urlAddress 请求地址 * @param encodedType 编码方式。UTF-8,GBK... */ public static String postData(String urlAddress, String encodedType) { try { URL url = new URL(urlAddress); URLConnection conn = url.openConnection(); // 打开联接 // 使用POST请求,是否向connection输出/输入。由于这个是post请求。參数要放在http正文内,因此须要设为true conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); // Post请求不用设置缓存 // // 发送域信息 // OutputStreamWriter out = new // OutputStreamWriter(conn.getOutputStream(), "utf-8"); // out.flush(); // out.close(); // 关闭流 // 获取返回数据 BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8")); String line = null; StringBuffer sb = new StringBuffer(); while ((line = in.readLine()) != null) { sb.append(line); } in.close(); // 关闭流 return sb.toString(); } catch (Exception e) { e.printStackTrace(); } return ""; } public static void main(String[] args) { String urlAddress = "http://server.arcgisonline.com/arcgis/services?wsdl"; // 返回的数据,如xml或json等数据 System.out.println("————————GET————————"); System.out.println(getData(urlAddress, "utf-8")); // GET 方式 System.out.println("————————POST————————"); System.out.println(postData(urlAddress, "utf-8")); // POST 方式 } }
相关文章
- 远程连接局域网数据采集【内网穿透】
- AspNetPager分页没有数据,有时显示有时不显示,连接为 javascript__doPostBack
- Oracle数据库:sql语言结构,数据查询语言DQL,select * from table;算术,别名,连接,去重等操作
- Oracle常见故障——Listener类:Hang、Crash及连接风暴的判断
- 《位置大数据隐私管理》—— 第2章 典型攻击模型和隐私保护模型 2.1 位置连接攻击
- MySQL学习笔记0-MySQL的卸载与安装以及连接
- Java对MySQL数据库进行连接、查询和修改【转载】
- 《树莓派开发实战(第2版)》——2.5 配置无线网络连接
- 《机器学习与数据科学(基于R的统计学习方法)》——2.7 使用文件连接
- 关于用WebView或手机浏览器打开连接问题
- 将 Flutter 应用程序连接到 BLE 设备并监听数据
- 虚拟机下运行linux通过nat模式与主机通信、与外网连接
- Windows下的Eclipse连接不上虚拟机上的hdfs,一直显示Listing folder content的解决方案
- 《Tableau数据可视化实战》——第1章连接数据源
- 《Tableau数据可视化实战》——1.4节连接Access数据库
- 《Tableau数据可视化实战》——1.8节连接Windows Azure Marketplace
- Kettle大数据清洗实战之三:连接操作MySQL
- PHP MySQL连接并查询数据
- NodeJs连接Mysql数据库
- GD32连接onenet,上传数据并控制LED(全网首发)
- 数据库中的左连接和右连接的区别
- 推动网络由连接为中心向用户为中心转变
- ESP8266-NodeMCU——使用WiFiManager库连接wifi
- 传统媒体转型:借力大数据 重建用户连接
- egg 连接mysql 在mysql 插入数据
- Kylin 学习笔记(二)-----Kylin增量构建入门、Cube碎片管理、JDBC连接、Cube简单优化
- 本地如何与gitee 仓库连接以及idea 与gitee如何关联
- [Pandas] 数据连接pd.concat