[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();

时间: 2024-10-08 22:45:07

[JAVA]HTTP请求应答作输入输出的相关文章

java判断请求是否为ajax请求

/** * isAjaxRequest:判断请求是否为Ajax请求. <br/> * @param request 请求对象 * @return boolean * @since JDK 1.6 */ public boolean isAjaxRequest(HttpServletRequest request){ String header = request.getHeader("X-Requested-With"); boolean isAjax = "XM

java http请求

package com.expai.utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.M

[老老实实学WCF] 第九篇 消息通信模式(上) 请求应答与单向

老老实实学WCF 第九篇 消息通信模式(上) 请求应答与单向 通过前两篇的学习,我们了解了服务模型的一些特性如会话和实例化,今天我们来进一步学习服务模型的另一个重要特性:消息通信模式. WCF的服务端与客户端在通信时有三种模式:单向模式.请求/应答模式和双工模式. 如果选用了单向模式,调用方在向被调用方进行了调用后不期待任何回应,被调用方在执行完调用后不给调用方任何反馈.如客户端通过单向模式调用了一个服务端的操作后,就去干别的了,不会等待服务端给他任何响应,他也无从得知调用是否成功,甚至连发生了

WCF分布式开发步步为赢(10):请求应答(Request-Reply)、单向操作(One-Way)、回调操作(Call Back).

WCF除了支持经典的请求应答(Request-Reply)模式外,还提供了什么操作调用模式,他们有什么不同以及我们如何在开发中使用这些操作调用模式.今天本节文章里会详细介绍.WCF分布式开发步步为赢(10):请求应答(Request-Reply).单向操作(One-Way).回调操作(Call Back).本文结构:[1]请求应答(Request-Reply).[2]单向操作(One-Way).[3]回调操作(Call Back).[4]示例代码分析.[5]总结.最后上传本文的示例代码. WCF

Java httpclient请求,解决乱码问题

public class HttpPostRequestUtil { public HttpPostRequestUtil() { } public static String post(String url, Map<String, String> maps) { // 第一步,创建HttpPost对象 HttpPost httpPost = new HttpPost(url); // 设置HTTP POST请求参数必须用NameValuePair对象 List<NameValuePa

Java获取请求客户端的真实IP地址

Java获取请求客户端的真实IP地址 Java,获取客户端的IP地址的方法: request.getRemoteAddr() 这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了; 如果使用了反向代理软件,将http://192.168.1.110:2046 的URL反向代理为 http://www.javapeixun.com.cn的URL时, 用 request.getRemoteAddr() 方法获取的IP地址是:127.0

JDK框架简析--java.io包中的输入输出类库

题记 JDK,Java Development Kit. 我们必须先认识到,JDK只是,仅仅是一套Java基础类库而已,是Sun公司开发的基础类库,仅此而已,JDK本身和我们自行书写总结的类库,从技术含量来说,还是在一个层级上,它们都是需要被编译成字节码,在JRE中运行的,JDK编译后的结果就是jre/lib下的rt.jar,我们学习使用它的目的是加深对Java的理解,提高我们的Java编码水平. 本系列所有文章基于的JDK版本都是1.7.16. 本节内容 Java IO库提供了一个可以称之为链

HTTP 服务器开发(Java)--HTTP请求

最近由于要课程作业,要做一个HTTP服务器,现在纪录下我做这个课程作业的全部过程. (一)理论知识 HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(

记录-java执行请求的URL

package wzh.Http; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; public class H