JAVA使用原始HttpURLConnection发送POST数据
package com.newflypig.demo;
/**
* 使用jdk自带的HttpURLConnection向URL发送POST请求并输出响应结果
* 参数使用流传递,并且硬编码为字符串"name=XXX"的格式
*/
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder; public class SendPostDemo { public static void main(String[] args) throws Exception{
String urlPath = new String("http://localhost:8080/Test1/HelloWorld");
//String urlPath = new String("http://localhost:8080/Test1/HelloWorld?name=丁丁".getBytes("UTF-8")); String param="name="+URLEncoder.encode("丁丁","UTF-8"); //建立连接
URL url=new URL(urlPath);
HttpURLConnection httpConn=(HttpURLConnection)url.openConnection(); //设置参数
httpConn.setDoOutput(true); //需要输出
httpConn.setDoInput(true); //需要输入
httpConn.setUseCaches(false); //不允许缓存
httpConn.setRequestMethod("POST"); //设置POST方式连接 //设置请求属性
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
httpConn.setRequestProperty("Charset", "UTF-8"); //连接,也可以不用明文connect,使用下面的httpConn.getOutputStream()会自动connect
httpConn.connect(); //建立输入流,向指向的URL传入参数
DataOutputStream dos=new DataOutputStream(httpConn.getOutputStream());
dos.writeBytes(param);
dos.flush();
dos.close(); //获得响应状态
int resultCode=httpConn.getResponseCode();
if(HttpURLConnection.HTTP_OK==resultCode){
StringBuffer sb=new StringBuffer();
String readLine=new String();
BufferedReader responseReader=new BufferedReader(new InputStreamReader(httpConn.getInputStream(),"UTF-8"));
while((readLine=responseReader.readLine())!=null){
sb.append(readLine).append("\n");
}
responseReader.close();
System.out.println(sb.toString());
}
}
}
JAVA使用HttpURLConnection发送POST数据是依靠OutputStream流的形式发送
具体编码过程中,参数是以字符串“name=XXX”这种形式发送
JAVA使用原始HttpURLConnection发送POST数据的更多相关文章
- 谈谈Java利用原始HttpURLConnection发送POST数据
这篇文章主要给大家介绍java利用原始httpUrlConnection发送post数据,设计到httpUrlConnection类的相关知识,感兴趣的朋友跟着小编一起学习吧 URLConnectio ...
- Java利用原始HttpURLConnection发送http请求数据小结
1,在post请求下,写输出应该在读取之后,否则会抛出异常. 即操作OutputStream对象应该在InputStreamReader之前. 2.conn.getResponseCode()获取返回 ...
- HTTPURLConnection 发送Post数据
在使用HTTPURLConnection发送POST数据时,通常使用如下方式: byte[] body = new byte[512]; // 需要发送的body数据 URL url = new UR ...
- Java模拟POST请求发送二进制数据
在进行程序之间数据通信时我们有时候就需要自定义二进制格式,然后通过HTTP进行二进制数据交互.交互的示例代码如下: public static void main(String[] args) { S ...
- java使用httpcomponents post发送json数据
一.适用场景 当我们向第三方系统提交数据的时候,需要调用第三方系统提供的接口.不同的系统提供的接口也不一样,有的是SOAP Webservice.RESTful Webservice 或其他的.当使用 ...
- java模拟post请求发送json数据
import com.alibaba.fastjson.JSONObject; import org.apache.http.client.methods.CloseableHttpResponse; ...
- HttpURLConnection发送POST请求(可包含文件)
import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; import java.io. ...
- HttpURLConnection发送请求
每个 HttpURLConnection 实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络.请求后在 HttpURLConnection 的 InputStrea ...
- Java后台创建Socket服务接收硬件终端发送的数据
最近项目中有遇到后台接收硬件终端发送的数据并解析存储的需求,代码总结如下(有时间再来一一讲解,最近比较忙): @Override public void start() { ExecutorServi ...
随机推荐
- Windows下将txt导入MySQL及远程连接设置
1.修改字符编码,全部修改为gbk.这样修改,重启后又会恢复默认值. show variables like '%char%'; set character_set_database=gbk; 其中, ...
- Careercup - Google面试题 - 4807591515389952
2014-05-06 00:45 题目链接 原题: What would happen if you have only one server for a web cache (a web brows ...
- Careercup - Facebook面试题 - 5890898499993600
2014-05-01 02:30 题目链接 原题: Given a matrix of letters and a word, check if the word is present in the ...
- ios 框架学习笔记
ios主要的系统层次: 一.Cocoa Touch 层:创建应用程序主要使用的框架. 1.关键技术: AirDrop:实现应用间通信. Text Kit:处理文本和排版. UIKit Dynamics ...
- 把工程部署在tomcat的root路径下
myeclipse可以右键工程:(eclipse也可以)选择properties->myeclipse->web:把web context-root改成:/然后在用myeclipse部署项 ...
- 使用JS启动本地应用程序、屏幕键盘
问题描述: 现在希望在Web端使用JS调用本地应用程序 问题解决: (1)使用JS启动本地应用程序 使用上述代码重点是创建了一个ActiveXObject的对象 参考说明: ...
- OI 回忆录
时间过得好快,一下子就高三了,一下子就退役了,两年的时间仿佛就在一眨眼的功夫内度过了.不过还是想回忆回忆这两年的雨雪风霜,也就当做个总结吧. 高一其实并没有什么好说的,反正就这么颓到了高二. 高二上学 ...
- phonegap file操作
phonegap中,有时候需要操作到手机中的文件,这个时候就需要用到phonegap官方提供的插件 file ,英文好的可以直接参考官方文档 首先是安装插件:(需要phonegap 3.0 以上,不止 ...
- 【面试题012】打印1到最大的n位数
[面试题012]打印1到最大的n位数 大数问题 字符串中的每一个字符都是‘0’到‘9’之间的某一个字符,用来表示数字中的一位,因为数字最大是n位的,因此我们需要一个长度为n+1的字符串,字符串的最后 ...
- 【设计模式六大原则4】接口隔离原则(Interface Segregation Principle)
定义:客户端不应该依赖它不需要的接口:一个类对另一个类的依赖应该建立在最小的接口上. 问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类 ...