[JAVA]HTTP请求应答作输入输出
请求(需要发送数据给别人):
URL url = new URL("需要请求的URL连接");
HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
// 以POST或GET方式通信
conn.setRequestMethod("POST");
// 设置连接超时时间
httpConnection.setConnectTimeout(this.timeOut * 1000);
// User-Agent
httpConnection.setRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)");
// 不使用缓存
httpConnection.setUseCaches(false);
// 允许输入输出
httpConnection.setDoInput(true);
httpConnection.setDoOutput(true);
// Content-Type
httpConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// 取得输出流
BufferedOutputStream out = new BufferedOutputStream(conn.getOutputStream());
// 长度以1KB为单位进行写
final int len = 1024;
// 将要输出的字符通过流做输出
String postData = "需要POST出去的数据";
byte[] outData = postData.getBytes(this.charset);
int dataLen = outData.length;
int off = 0;
// 以1KB为单位写
while (off < dataLen) {
if (len >= dataLen) {
out.write(outData, off, dataLen);
} else {
out.write(outData, off, len);
}
// 刷新缓冲区
out.flush();
off += len;
dataLen -= len;
}
// 关闭流
out.close();
// 取得应答码
int respCode = conn.getResponseCode();
// 取得返回的输入流
InputStream inputStream = conn.getInputStream();
接收(接收请求数据并应答):
// 取得输入流
InputStream in = request.getInputStream();
// 使用Reader取得输入流数据
BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
// 将Reader转成字符串
String temp;
StringBuffer sb = new StringBuffer();
while (null != (temp = br.readLine())) {
sb.append(temp);
}
// 取得最终收到的字符串
String originalReturnData = sb.toString();
// 应答给请求方的数据
String responseString = "收到请求之后应答的数据";
// 取得输出器
PrintWriter out = response.getWriter();
// 直接输出
out.println(responseString);
// 刷新输出
out.flush();
// 关闭输出
out.close();
[JAVA]HTTP请求应答作输入输出的更多相关文章
- [老老实实学WCF] 第九篇 消息通信模式(上) 请求应答与单向
老老实实学WCF 第九篇 消息通信模式(上) 请求应答与单向 通过前两篇的学习,我们了解了服务模型的一些特性如会话和实例化,今天我们来进一步学习服务模型的另一个重要特性:消息通信模式. WCF的服务端 ...
- Java HTTP请求
注意:java http请求要放在 try catch里面,该过程是一个阻塞过程,所以需要新建一个线程进行处理 try { HttpPost request = new HttpPost(URL); ...
- [WCF编程]10.操作:请求/应答操作
一.调用操作概述 WCF除了支持经典的服务端-客户端的请求/应答操作外,还提供了对其他操作类型的内建支持,包括:即发即弃的单向调用:允许服务将调用返回给客户端的双向回调:允许客户端或服务器处理大量负荷 ...
- WCF分布式开发步步为赢(10):请求应答(Request-Reply)、单向操作(One-Way)、回调操作(Call Back).
WCF除了支持经典的请求应答(Request-Reply)模式外,还提供了什么操作调用模式,他们有什么不同以及我们如何在开发中使用这些操作调用模式.今天本节文章里会详细介绍.WCF分布式开发步步为赢( ...
- java读取请求中body数据
java读取请求中body数据 /** * 获取request中body数据 * * @author lifq * * 2017年2月24日 下午2:29:06 * @throws IOExcepti ...
- JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用
JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求 Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java ...
- Redis 请求应答模式和往返延时 Pipelining
Redis是一个CS结构的TCP服务器,使用”请求-应答”的模式.,客户端发起一个请求是这样的步骤: 客户端发送一个请求给服务器,然后等待服务器的响应,一般客户端使用阻塞模式来等待服务器响应. 服务器 ...
- 解决Fiddler不能监听Java HttpURLConnection请求的方法
在默认情况下,Fiddler不能监听Java HttpURLConnection请求.究其原因,Java的网络通信协议栈可能浏览器的通信协议栈略有区别,Fiddler监听Http请求的原理是 在应用程 ...
随机推荐
- ob_start()
ob_start()函数用于打开缓冲区 1.用于header()之前 ob_start(); //打开缓冲区 echo "Hellon"; //输出 header("lo ...
- UISearchBar控件-让我们来搞定!(转)
转载自:http://blog.sina.com.cn/s/blog_7b9d64af0101dfg8.html 最近用到搜索功能.于是,经过不断的研究,终于,有点懂了. 那就来总结一下吧,好 ...
- tomcat设置虚拟目录开启文件下载在服务
因为平时一直在eclipse里运行tomcat,所以改的文件在eclipse里的server 在server.xml里找到<host></host>,并在</host&g ...
- 做参数可以读取参数 保存参数 用xml文件的方式
做参数可以读取参数 保存参数 用xml文件的方式 好处:供不同用户保存适合自己使用的参数
- NodeJs + mongodb模块demo
代码比较通俗易懂,但是我还是在这个过程中浪费了不少时间,也算是看到了nodejs中异步的一个小坑.未来的坑还有很多,慢慢找坑填坑吧. 参考资料如下: 1.断言模块 : https://nodejs.o ...
- Publishing failed with multiple errors 异常
Publishing failed with multiple errors 在使用eclipse发布项目时不能自动生成class文件,且无法启动调试的Tomcat服务.启动过程提示 以上 异常 解决 ...
- SourceTree推送时,增加额外的远程仓库,不用每次都自定义粘贴复制网络
一.命令行添加 二.软件界面可以查看到结果 更新,以上是代码添加了远程仓库,最近,找到了不用代码,直接在文件夹里写地址来添加的方式.直接上图了.
- MySql 外键约束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用
MySQL有两种常用的引擎类型:MyISAM和InnoDB.目前只有InnoDB引擎类型支持外键约束.InnoDB中外键约束定义的语法如下: ALTER TABLE tbl_name ADD [CON ...
- UVALive 4329 Ping pong
Ping pong Time Limit: 3000MS Memory Limit: Unknown 64bit IO Fo ...
- 【bzoj2318】Spoj4060 game with probability Problem
题目描述 Alice和Bob在玩一个游戏.有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任何事.取到最后一颗石子的人胜利.Alice在投掷硬币时有 ...