当前位置: 首页 > news >正文

android19

【向Internet发送请求参数】

利用HttpURLConnection对象,我们可以向网络发送请求参数.
String requestUrl = "http://192.168.17.9:8080/and/listservlet";
Map<String, String> requestParams = new HashMap<String, String>();
requestParams.put("age", "12");
requestParams.put("name", "中国");
 StringBuilder params = new StringBuilder();
for(Map.Entry<String, String> entry : requestParams.entrySet()){
 params.append(entry.getKey());
 params.append("=");
 params.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
 params.append("&");
}
if (params.length() > 0) params.deleteCharAt(params.length() - 1);
byte[] data = params.toString().getBytes();
URL realUrl = new URL(requestUrl);
HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();
conn.setDoOutput(true);//发送POST请求必须设置允许输出
conn.setUseCaches(false);//不使用Cache
conn.setRequestMethod("POST");        
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
DataOutputStream outStream = new DataOutputStream(conn.getOutputStream());
outStream.write(data);
outStream.flush();
if( conn.getResponseCode() == 200 ){
        String result = readAsString(conn.getInputStream(), "UTF-8");
        outStream.close();
        System.out.println(result);
}

//---------------------------

利用HttpURLConnection对象,我们可以向网络发送xml数据.
StringBuilder xml =  new StringBuilder();
xml.append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
xml.append("<M1 V=10000>");
xml.append("<U I=1 D=\"N73\">中国</U>");
xml.append("</M1>");
byte[] xmlbyte = xml.toString().getBytes("UTF-8");
URL url = new URL("http://192.168.17.9:8080/and/listservlet");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5* 1000);
conn.setDoOutput(true);//允许输出
conn.setUseCaches(false);//不使用Cache
conn.setRequestMethod("POST");        
conn.setRequestProperty("Content-Length", String.valueOf(xmlbyte.length));
conn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8");
DataOutputStream outStream = new DataOutputStream(conn.getOutputStream());
outStream.write(xmlbyte);//发送xml数据
outStream.flush();
if (conn.getResponseCode() != 200) throw new RuntimeException("请求url失败");
InputStream is = conn.getInputStream();//获取返回数据
String result = readAsString(is, "UTF-8");
outStream.close(); 

//---------------------------------------------------

 

 

 

转载于:https://www.cnblogs.com/Miami/p/3139344.html

相关文章:

  • 推荐系统的挑战(转载)
  • Android中获取IMEI码
  • Access数据库和SQL Server数据库在实际应用中的区别
  • SQL SERVER 驱动程序错误
  • Android屏蔽返回键
  • Error: member names cannot be the same as their enclosing type
  • Apache开启GZIP 压缩网页
  • C# Unit Test 备注
  • 26种激发人创造力的天使商标设计
  • 记一条distinct 语句的优化。
  • 文件权限设置与http,php的关系
  • js控件位置
  • CEffectMgr类
  • Android_HTML解析器_jsoup
  • 如何控制项目的需求
  • 10个确保微服务与容器安全的最佳实践
  • go append函数以及写入
  • HomeBrew常规使用教程
  • JavaScript函数式编程(一)
  • Java比较器对数组,集合排序
  • js
  • Linux gpio口使用方法
  • MaxCompute访问TableStore(OTS) 数据
  • Mocha测试初探
  • Python实现BT种子转化为磁力链接【实战】
  • React-redux的原理以及使用
  • Sass 快速入门教程
  • SpringBoot 实战 (三) | 配置文件详解
  • 猴子数据域名防封接口降低小说被封的风险
  • 聊聊sentinel的DegradeSlot
  • 如何用vue打造一个移动端音乐播放器
  • 什么是Javascript函数节流?
  • 学习使用ExpressJS 4.0中的新Router
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 追踪解析 FutureTask 源码
  • 最简单的无缝轮播
  • const的用法,特别是用在函数前面与后面的区别
  • mysql面试题分组并合并列
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 交换综合实验一
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (3)选择元素——(17)练习(Exercises)
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C语言)逆序输出字符串
  • (pojstep1.3.1)1017(构造法模拟)
  • (附源码)ssm码农论坛 毕业设计 231126
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (一)Java算法:二分查找
  • (译)计算距离、方位和更多经纬度之间的点
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)