HttpURLConnection用法
在SDK中的URLConnection链接Servlet的问题
1.URL的请求分类GET和POST
GET请求可以获取页面静态的值,参数放URL后,传给Serverlct
POST的参数是存放于http请求的正文中
2.URLConnection的对象问题
根据URL生成URLconnection,URLConnection在转成HttpUrlConnection.
URL url = new URL("www.baidu.com");
HttpUrlConnection httpUrlConnection = (HttpURLConnection) url.openConnection();
3.HttpURLConnection对象参数问题
设置是否向HttpURLConnection输出,因为这个是Post请求,参数要放在http正文中,因此要设置为true
httpUrlConnection.setDoOutput(true);
设置是否从httpUrlConnection读入,默认情况下是true
httpUrlConnection.setDoInput(true);
Post请求不能使用缓存
httpUrlConnection.setUseCaches(false);
设定传输的内容结果是可以序列化的JAVA对象
(假设不设置,在传送序列化对象时,当WEB服务器默认的不是这种类型时可能抛出java.io.eofexcrption)
httpUrlConnection.setRequestProperty("Content-type","application/x-java-serialized-object");
//设定请求的方式必须是POST,默认时GET
httpUrlConnection.setRequestMethod("Post");
分装完毕
httpUrlConnection.connect();
getOutPutStream会隐含着connect,所以在开发环境中不调用上述的connect()也可以
OutputStream outStrm = httpUrlConnection.getOutputStream()
现在通过输出流对象构建对象的输出流,以实现输出可序列化的对象
OutputStreamWriter out = new OutputStreamWriter(httpUrlConnection.getOutputStream(), "UTF-8");
向对象输出流写数据,这些数据保存到内存中
objectOutputStream.writeObject("测试字符串")
//刷新对象输出流,将任何字节都写入潜在流中
objOutputStm.flush()
// 定义BufferedReader输入流来读取URL的响应
BufferedReader in = new BufferedReader( new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line
StringBuilder result = new StringBuilder();;
while ((line = in.readLine()) != null) {
result.append(line);
}
用finally{
关闭输出流和输入流。
in.close();
}
//关闭流对象,不在对输出流对象写入任何东西,先前写入的数据存在于缓存中
objOutputStm.close();
调用httpURLConnection连接对象的getInputStream()函数
将内存缓冲区封装好完整的HTTP请求电文发送到服务端
InputStream inStrm = httpConn.getInputStream();
HttpURLConnection用法的更多相关文章
- HttpURLConnection用法详解
针对JDK中的URLConnection连接Servlet的问题,网上有虽然有所涉及,但是只是说明了某一个或几个问题,是以FAQ的方式来解决的,而且比较零散,现在对这个类的使用就本人在项目中的使用经验 ...
- 【转】HttpURLConnection用法详解
原文链接:http://www.blogjava.net/supercrsky/articles/247449.html 针对JDK中的URLConnection连接Servlet的问题,网上有虽然有 ...
- [转]Android各大网络请求库的比较及实战
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...
- Android之网络请求库
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...
- Android进阶笔记01:Android 网络请求库的比较及实战(一)
在实际开发中,有的时候需要频繁的网络请求,而网络请求的方式很多,最常见的也就那么几个.本篇文章对常见的网络请求库进行一个总结. 一.使用HttpUrlConnection: 1. HttpUrlCon ...
- Android 几种网络请求的区别与联系
HttpUrlConnection 最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android 2.2及以下版本中HttpUrlConne ...
- Android 各大网络请求库的比较及实战
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...
- 关于HttpClient,HttpURLConnection,OkHttp的用法
1 HttpClient入门实例 1.1发送get请求 /** * HttpClient发送get请求 * @param url 请求地址 * @return * @throws IOExceptio ...
- HttpURLConnection和HttpClient的简单用法
HttpURLConnection的简单用法:先通过一个URL创建一个conn对象,然后就是可以设置get或者是post方法,接着用流来读取响应结果即可 String html = null; lon ...
随机推荐
- Vijos P1114 FBI树【DFS模拟,二叉树入门】
描述 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串. FBI树是一种二叉树1,它的结点类型也包括F结点,B结点和I结点三种 ...
- HDU2504-又见GCD-递归
又见GCD Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- linux下各文件夹的结构说明及用途介绍
linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /ho ...
- Android studio启动后卡在refreshing gradle project(包解决)
这个问题几乎每个刚使用Android studio的同学都会碰到过,网上有各式各样的方法,有的说使用本地gradle,我试过多次,每次启动android studio时还是会检查更新,所以根本上解决的 ...
- python爬取拉勾网职位数据
今天写的这篇文章是关于python爬虫简单的一个使用,选取的爬取对象是著名的招聘网站--拉钩网,由于和大家的职业息息相关,所以爬取拉钩的数据进行分析,对于职业规划和求职时的信息提供有很大的帮助. 完成 ...
- APP测试时常用adb命令
ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机),故在其实工作可以给我们 ...
- Java入门篇(六)——类和对象
写到这里终于写到了入门篇的最后一个知识点了.类和对象是Java中经常被提到的两个词汇,实际上可以将类看作对象的载体,它定义了对象所具有的功能.Java是面向对象的语言,因此掌握类与对象是学习Java语 ...
- hbase性能调优_表设计案例
hbase性能调优案例 1.人员-角色 人员有多个角色 角色优先级 角色有多个人员 人员 删除添加角色 角色 可以添加删除人员 人员 角色 删除添加 设计思路 person表 ...
- ftp上传文件,本地安装了,服务器上也需要在也安装一个ftp
服务器需要配置FTP服务: 你说的在你自己电脑上安装的只是一个FTP软件,用于连接远程服务器进行上传和下载文件的. 追问 在本地已经安装了,链接的话要在服务器上也安装一个吗? 追答 额,你有FTP服务 ...
- java 三大框架
SSH即:Spring.Struts.HibernateSpring:功能强大的组件粘合济,能够将你的所有的java功能模块用配置文件的方式组合起来(还让你感觉不到spring的存在)成为一个完成的应 ...