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 ...
随机推荐
- JavaWeb(二)cookie与session的应用
前言 前面讲了一堆虚的东西,所以这篇我们来介绍一下cookie和session的应用. 一.使用cookie记住用户名 1.1.思路介绍 1.2.实现代码 1)LoginServlet package ...
- JavaSE(四)之接口、访问控制
上面我们学习了几个修饰符,在开发中经常会用的到,所以必须熟练的掌握.接下来我学习一下接口和访问控制. 一.接口 一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方 ...
- bzoj:3398 [Usaco2009 Feb]Bullcow 牡牛和牝牛
Description 约翰要带N(1≤N≤100000)只牛去参加集会里的展示活动,这些牛可以是牡牛,也可以是牝牛.牛们要站成一排.但是牡牛是好斗的,为了避免牡牛闹出乱子,约翰决定任意两只牡 ...
- Gym100814B Gym100814F Gym100814I(异或) ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (2015) Arab Academy for Science and Technology
今日份的训练题解,今天写出来的题没有昨天多,可能是因为有些事吧... Gym100814B 这个题就是老师改卷子,忘带标准答案了,但是他改了一部分卷子,并且确定自己改的卷子没出错,他想从改过的卷子里把 ...
- hbmy周赛1--D
D - Toy Cars Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submi ...
- 修改nopCommerce中的实体
对已有实体增加一个属性(对Category增加一个SomeNewProperty) 最近在研究nopcommerce,这里是对官网上文档的学习 ...
- Tomcat 源码分析(二)——Request处理全过程
前一篇博客,我总结了Tomcat对于生命周期组件的管理.在了解了容器的启动之后,我们开始剖析它的内部运行机制.今天我们来分析一下Tomcat如何处理Request.Socket作为网络通信的基础也是R ...
- myeclipse 奔溃解决办法
myeclipse 突然奔溃 解决办法 JVM terminated.Exit code=1 意思是说java 虚拟机挂了,而不是myeclipse挂了. 进入myeclipse 目录 查看myecl ...
- nginx中location匹配顺序
一.location语法 语法: Syntax: location [ = | ~ | ~* | ^~ ] uri { ... } location @name { ... } Default: - ...
- 一分钟搭建Vue2.0+Webpack2.0多页面项目
想要自己一步步搭建的比较麻烦,不是很推荐,最少也要使用vue-cli,在其基础上开始搭建,今天我的主题是一分钟搭建,那么常规方法肯定不能满足的, 而我用的方法也很简单,就是使用已经配置完成的demo模 ...