- 浏览: 1159186 次
- 性别:
- 来自: nibiru
文章分类
- 全部博客 (407)
- lucene (1)
- java (147)
- j2se (1)
- javascript (2)
- spring (5)
- hibernate (1)
- mysql (1)
- oracle (10)
- 工作 (10)
- JPA (13)
- 网站 (5)
- xml (2)
- mina (3)
- 思想 (16)
- httpclient (10)
- JFreeChart (1)
- 多线程 (0)
- swing (2)
- socket (0)
- 网络 (3)
- protocol buffer (0)
- jmx (2)
- jboss/weblogic (1)
- flex3 (12)
- 设计模式 (1)
- apache (0)
- php (4)
- struts1&2 (2)
- oracle SOA (2)
- 微博短链接的生成算法(Java版本) (1)
- htmlparser (3)
- quartz (2)
- mail (1)
- 乱码 (2)
- txt (1)
- eclipse (7)
- 分类 (0)
- 数据库 (1)
- svn (1)
- 日志 (1)
- struts2 (4)
- jquery (2)
- 编码 (1)
- 路径,java (1)
- SOHO (1)
- 娱乐 (2)
- frameset (1)
- maven (1)
- 反射 (1)
- truts2 (1)
- 敏捷,scrum (1)
- OA (1)
- english (1)
- oralce (1)
- wampserver (1)
- 会计 (1)
- springmvc (1)
- js (1)
- CMA (1)
最新评论
-
ludabing:
[/color][color=yellow]
spring @component的作用 -
netwelfare:
EL表达式中null和empty的区别,可以看这篇文章:htt ...
EL表达式中empty的用法 -
wjs王结胜:
...
spring @component的作用 -
di1984HIT:
哈哈。真不错啊。~
微博短链接的生成算法(Java版本) -
di1984HIT:
不错,不错。。。
spring @component的作用
Java中可以使用HttpURLConnection来请求WEB资源。 1、 URL请求的类别 分为二类,GET与POST请求。二者的区别在于: 2、URLConnection的对象问题 3、HttpURLConnection对象参数问题 4、HttpURLConnection连接问题 5、HttpURLConnection写数据与发送数据问题 6、post参数的方法 7、超时设置,防止 网络异常的情况下,可能会导致程序僵死而不继续往下执行 总结: a: HttpURLConnection的connect()函数,实际上只是建立了一个与服务器的tcp连接,并没有实际发送http请求。
a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,
b:) post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。
无论是post还是get,http请求实际上直到HttpURLConnection的getInputStream()这个函数里面才正式发送出去。
b:在用POST方式发送URL请求时,URL请求参数的设定顺序是重中之重,
对connection对象的一切配置(那一堆set函数)
都必须要在connect()函数执行之前完成。而对outputStream的写操作,又必须要在inputStream的读操作之前。
这些顺序实际上是由http请求的格式决定的。
如果inputStream读操作在outputStream的写操作之前,会抛出例外:
java.net.ProtocolException: Cannot write output after reading input.......
c:http请求实际上由两部分组成,
一个是http头,所有关于此次http请求的配置都在http头里面定义,
一个是正文content。
connect()函数会根据HttpURLConnection对象的配置值生成http头部信息,因此在调用connect函数之前,
就必须把所有的配置准备好。
d: 在http头后面紧跟着的是http请求的正文,正文的内容是通过outputStream流写入的,
实际上outputStream不是一个网络流,充其量是个字符串流,往里面写入的东西不会立即发送到网络,
而是存在于内存缓冲区中,待outputStream流关闭时,根据输入的内容生成http正文。
至此,http请求的东西已经全部准备就绪。在getInputStream()函数调用的时候,就会把准备好的http请求
正式发送到服务器了,然后返回一个输入流,用于读取服务器对于此次http请求的返回信息。由于http
请求在getInputStream的时候已经发送出去了(包括http头和正文),因此在getInputStream()函数
之后对connection对象进行设置(对http头的信息进行修改)或者写入outputStream(对正文进行修改)
都是没有意义的了,执行这些操作会导致异常的发生。
发表评论
-
DISCUE盖楼器
2013-10-24 13:34 1222package com.soft.hr.per.service ... -
svn文件影响编译速度解决办法
2011-11-05 10:06 1677在eclipse开发环境中正常编译java文件时,eclip ... -
项目经理,产品经理,架构师
2011-08-29 12:54 2022理想:产品经理设计出简单好用的产品,并能理解技术约束和 ... -
题目
2011-08-28 13:01 17内容22222222222222222222222222222 ... -
如何用QTP录制鼠标右键点击事件
2011-08-25 17:09 1667qtp录制鼠标右键单击事件要通过模拟键盘操作来实现st ... -
Eclipse中要导出jar包中引用了第三方jar包怎么办【】
2011-08-25 15:17 3576单击菜单栏中 ... -
面试题整理2
2011-08-25 12:13 709现有n个人和m个桌子.当每桌做3个人时,多出来2个人. ... -
java把下载html批量换成chm电子书
2011-08-25 10:11 1367利用微软的hhc.exe来把需要转换成chm的htm ... -
java用链表解约瑟夫环问题
2011-08-25 09:36 10721到20的数围成一个圈,隔两个取出一个,直到所有的数都 ... -
CKEditor用法
2011-08-25 09:23 1499config.js ckeditor.editor ... -
工作难题
2011-08-24 15:00 1143function showitem(oid,order ... -
Rational.Rose7.0系统软件
2011-08-24 14:13 3043ibm.rational.rose7.0系统软件01. ... -
[] 探索建立私人的科技资料检索系统
2011-08-23 10:42 1335由于经济条 ... -
一、Java字节代码的操纵
2011-08-22 14:54 624<address style="tex ... -
线程状态的换
2011-08-22 13:09 996<div><div>scjp5 ... -
线程的调度—优先级
2011-08-22 12:53 1143<div>与线程休眠类似,线程的优先级仍然 ... -
类 Hibernate Session DBUtil
2011-08-22 12:16 1236package com.core.util;impor ... -
利用Annotation构建针对POJO进行增删改操作
2011-08-22 12:12 1142package com.core.annotation ... -
360 Or QQ
2011-08-22 08:48 1168前几天,360忽然跳 ... -
XML JAVA解析 -- DOM
2011-08-19 14:27 1326dom : document object model ...
相关推荐
在使用`UrlConnection`时,我们通常会通过`openConnection()`方法创建连接,然后调用`setRequestProperty()`设置请求头,最后通过`getInputStream()`或`getOutputStream()`读写数据。 相比之下,`Socket`是更底层的...
5. **关闭连接**:在完成数据传输后,记得关闭连接以释放资源。 ```java urlConnection.disconnect(); ``` 除了基本的GET和POST请求,URLConnection还可以处理PUT、DELETE等HTTP方法,并且支持自定义HTTP头和设置...
### IOS程序使用URLConnection连接服务器方法 #### 一、引言 在iOS开发中,应用程序往往需要与后端服务器进行通信来获取数据或提交用户操作的结果。`NSURLConnection`(现已被`URLSession`替代)是一种常用的网络...
6. 关闭资源:使用完毕后,记得关闭输入/输出流以及连接。 在某些情况下,URLCONNECTION可能比HttpClient更简单、更轻量级,尤其是在处理简单的HTTP请求时。然而,HttpClient提供了更高级的功能,如支持多线程、重...
你可以设置请求头、打开输入/输出流,以及控制连接超时等。 ```java URLConnection connection = url.openConnection(); ``` `URLConnection`的一个重要特性是其可设置性。例如,我们可以设置HTTP请求方法(GET、...
Java JDK 中的 `URLConnection` 是一个非常重要的网络通信接口,它是`java.net.URL`类的主要功能接口,用于打开和管理到互联网对象的连接。在本文中,我们将深入探讨`URLConnection`的一些关键特性和参数,特别是在...
2. **URLConnection:** `URLConnection`是`java.net.URL`的一个内部类,用于建立与URL表示的资源之间的连接,并通过该连接发送请求或者接收响应数据。 #### 二、URLConnection的基本使用 ##### 1. 创建URL对象 在...
在Android开发中,`URLConnection`是Java标准库提供的一个基础网络通信组件,它允许应用程序通过打开到指定URL的连接来读取和写入数据。在本文中,我们将深入探讨如何使用`URLConnection`进行网络编程,并结合提供的...
- 可以通过设置连接超时和读取超时来控制等待响应的时间,防止程序无限期地等待。 - 对于频繁的请求,可以考虑使用连接池来重用HTTP连接,减少创建新连接的开销。 9. **安全性**: - 对于HTTPS连接,...
URLConnection对象提供了设置请求属性的方法,如设置请求方法(GET、POST等)、设置请求头(如User-Agent、Content-Type等)以及设置超时等。例如,要发送POST请求并设置Content-Type为application/json,可以这样做...
`URLConnection`是`java.net`包中的一个抽象类,用于表示与`URL`引用的远程对象的连接。通过`URLConnection`,我们可以与服务器交互,发送请求并接收响应。`URL`类的`openConnection()`方法返回一个`URLConnection`...
2. 打开连接:使用openConnection()方法打开连接,该方法返回一个URLConnection对象。 3. 设置请求方法:使用setRequestMethod()方法设置请求方法为"POST"。 4. 设置请求头:使用setRequestProperty()方法设置请求...
首先,我们需要理解`URLConnection`的基本用法。`URLConnection`是所有URL连接的抽象基类,通过`URL`对象的`openConnection()`方法创建一个实例。一旦有了`URLConnection`对象,我们就可以设置请求参数、连接属性,...
`URLConnection` 是Java标准库中的一个接口,位于`java.net`包下,用于抽象出网络连接。通过`URLConnection`,开发者能够实现对HTTP请求的基本控制,例如GET和POST请求、处理响应头、设置超时时间等。对于更高级的...
okhttp-urlconnection:3.10.0
而对于超时,可以通过设置连接超时和套接字超时来进行控制。在多线程环境中,推荐为整个应用程序创建一个HttpClient实例,以避免线程安全问题。 在网络连接判断方面,Android提供了检查网络连接是否可用的方法。这...
import java.io.FileOutputStream;... // 完毕,关闭所有链接 os.close(); is.close(); } } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hotdust/archive/2009/08/05/4410714.aspx
同时使用picasso和OKHttp的时候,需要加入OKHttp-urlconnection