查看原文: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 方式
} }

HttpURL连接远程serverGet和Post方式请求并返回数据的更多相关文章

  1. asp.net core 使用中间件拦截请求和返回数据,并对数据进行加密解密。

    原文:asp.net core 使用中间件拦截请求和返回数据,并对数据进行加密解密. GitHub demo https://github.com/zhanglilong23/Asp.NetCore. ...

  2. charles技能之修改请求参数/返回数据(map Local、Rewrite、Breakpoints)

    之前一直用postman调接口比较多,但有时候想要去修改APP的页面展示,造数据又会比较麻烦,此时可以用以下三种方法修改请求参数或修改响应: map Local(本地映射).Breakpoints(打 ...

  3. JQuery请求WebService返回数据的几种处理方式

    打开自己的博客仔细浏览了一番,发现已经好久没有写博客了,由于最近一直比较忙碌懈怠了好多.默默反省三分钟.......言归正传,现在就对最近在学习webservice的过程中遇到的几种类型的问题中我的理 ...

  4. Fiddler修改请求、返回数据

    相信你们有听过说“绕过前端”,但是可能想不到要怎样才能绕过前端呢? 首先,我们要知道什么是绕过前端?比如:登录用户名限制数字.6位,用户在登录页面填写用户名符合要求,使用Fiddler作为代理,拦截登 ...

  5. Java实现发送HTTP的POST请求,返回数据以及请求状态

    /** * @param url:请求url * @param content: 请求体(参数) * @return errorStr:错误信息;status:状态码,response:返回数据 */ ...

  6. Fiddler实现篡改接口请求和返回数据

    步骤如下: 点击rules->Automatic Breakpoints,在这个选项下,我们可以看到三个可选项: Before Requests:在请求发出前拦截请求: After Reques ...

  7. 远程调用get和post请求 将返回结果转换成实体类

    package org.springblade.desk.utils; import org.apache.http.client.ResponseHandler; import org.apache ...

  8. PHP通过curl向其它服务器发请求并返回数据

    在很多时候,我们都需要请求第三方的服务器来获取一些数据,比如token,比如百度的主动推送,那么我们的php如何实现向第三方服务器发请求呢?我们可以通过curl来实现 首先定义请求的url,然后创建h ...

  9. ICE学习第四步-----客户端请求服务器返回数据

    这次我们来做一个例子,流程很简单:客户端向服务器发送一条指令,服务端接收到这条指令之后,向客户端发送数据库中查询到的数据,最终显示在DataGridView上. 根据上一篇文章介绍的Slice语法,我 ...

随机推荐

  1. No-6.If语句

    判断(if)语句 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?…… 程序中的判断 if 今天发工资: 先还信用卡的钱 if 有剩余: 又可 ...

  2. No-2.注释

    01. 注释的作用 使用用自己熟悉的语言,在程序中对某些代码进行标注说明,增强程序的可读性 02. 单行注释(行注释) 以 # 开头,# 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到 ...

  3. jenkins构建项目记录1

    jenkins安装见上篇随笔 1.新建任务 2.构建一个自由风格的软件项目 3.源码管理设置 4.构建环境 5.构建 6.构建后操作

  4. 关于Map的遍历

    想起之前有人问过我这个,那就顺手写一下Map的遍历 Map<Integer, String> map = new HashMap<Integer, String>(); map ...

  5. c++基础_字符串对比

    #include <iostream> #include <string.h> #include <algorithm> using namespace std; ...

  6. rbac组件之权限操作(四)

    对于权限表的操作有两种方式,第一种是一个个的权限进行curd,另外一种是批量操作,自动发现django程序中的路由,进行批量curd,首先介绍第一种方式. 因为在列出菜单时,已经将权限列表列出来了,所 ...

  7. Win8系统下MT4不能添加指标无法找到技术指标

    首次使用MT4平台时系统会将MT4所有文件都加载到了Windows用户目录下,导致在MT4安装位置添加了技术指标后,MT4平台也无法找到技术指标,关于这个问题的解决方法如下 MT4是一款享誉盛名的市场 ...

  8. SpringMVC参数接收

    1 绑定简单类型 要根据id查询商品数据,需要从请求的参数中把请求的id取出来.Id应该包含在Request对象中.可以从Request对象中取id. public ModelAndView item ...

  9. <struct、union、enum>差异

    关于C++和C的区别 区别最大的是struct,C++中的struct几乎和class一样了,可以有成员函数,而C中的struct只能包含成员变量. enum,union没区别. struct的定义 ...

  10. 牛客练习赛29 B 列队

    [题解] 把某一行或某一列有4个1的都统计出来,然后首尾接上尽量长的,注意首尾不能选上同一个矩阵,要维护前缀.后缀1最大值和次大值. 还要注意维护矩阵内连续1的长度,因为可能有 0 0 0 0 这种情 ...