在对openConnection()的调用返回后,调用了connect()方法--用于建立某种资源的连接。(尽管openConnection()方法返回一个连接对象的引用,但是openConnection()不会连接到资源)。 URLConnection的getHeaderFields()方法返回一个对象的应用,该对象的类实现了java.util.Map接口。该图表(map)包含头部名称和值的集合。什么是头部(header)?头部是基于文本的名称/值对,它识别资源数据的类型、数据的长度等等。
在编译了URLDemo2后,在命令行输入java URLDemo2 http://www.javajeff.com,输出如下:
上面的输出识别了很多头部(包括Date、null、Content-Length、 Server、Last-Modified等等)和它们的值。输出也显示只允许从资源读取数据。
你对一个程序是如何识别资源数据的是否感到惊奇?仔细看一下前面的输出,你会看到叫做Content-Type的东西。Content-Type是一个头部,它识别了资源数据(内容)的类型是text/html。text部分就是我们所知道的类型,html部分是我们所知道的子类型。(如果内容是普通的文本,Content-Type的值可能是text/plain。上面的类型表明内容是文本的但不是没有格式的)。Content-Type头部是我们所知道的多用途Internet邮件扩展(MIME)的一部分。
MIME是传统的传输消息的7位ASCII标准的一种扩展。通过引入了多种头部,MIME使视频、声音、图像、不同字符集的文本与7位ASCII结合起来。有了Content-Type,MIME可以识别Content-Length和其它标准的头部。当你使用URLConnection类的时候,你会遇到getContentType()和getContentLength()。这些方法返回的值是Content-Type和Content-Length头部。
你也许听说过HTML窗体(<form>、 </form>)和其它的HTML标记。窗体使我们能够从某种资源得到(GET)数据并按后来的处理把HTML窗体的字段数据发送(POST)到某种资源。你能够使用URLConnection类和MIME模拟可以得到和发送数据的HTML窗体。下面说明你怎样完成这种事务。
假设你想把窗体数据发送(POST)到某个服务器程序。发送需要对窗体数据的操作。首先,窗体的数据必须组织为名称/值对(name/value pair),其次每个对必须指定为name=value格式,再次如果发送多个名称/值对,必须使用 & 符号把每对分开,最后的name内容和value的内容必须使用application/x-www-form-urlencoded MIME类型编码。例如x=y&a=b表现了两个名称/值对--x/y和a/b。
在编译了URLDemo2后,在命令行输入java URLDemo2 http://www.javajeff.com,输出如下:
| Date=[Sun, 17 Feb 2002 17:49:32 GMT] Connection=[Keep-Alive] Content-Type=[text/html; charset=iso-8859-1] Accept-Ranges=[bytes] Content-Length=[7214] null=[HTTP/1.1 200 OK] ETag=["4470e-1c2e-3bf29d5a"] Keep-Alive=[timeout=15, max=100] Server=[Apache/1.3.19 (Unix) Debian/GNU] Last-Modified=[Wed, 14 Nov 2001 16:35:38 GMT] Input allowed = true Output allowed = false |
上面的输出识别了很多头部(包括Date、null、Content-Length、 Server、Last-Modified等等)和它们的值。输出也显示只允许从资源读取数据。
你对一个程序是如何识别资源数据的是否感到惊奇?仔细看一下前面的输出,你会看到叫做Content-Type的东西。Content-Type是一个头部,它识别了资源数据(内容)的类型是text/html。text部分就是我们所知道的类型,html部分是我们所知道的子类型。(如果内容是普通的文本,Content-Type的值可能是text/plain。上面的类型表明内容是文本的但不是没有格式的)。Content-Type头部是我们所知道的多用途Internet邮件扩展(MIME)的一部分。
MIME是传统的传输消息的7位ASCII标准的一种扩展。通过引入了多种头部,MIME使视频、声音、图像、不同字符集的文本与7位ASCII结合起来。有了Content-Type,MIME可以识别Content-Length和其它标准的头部。当你使用URLConnection类的时候,你会遇到getContentType()和getContentLength()。这些方法返回的值是Content-Type和Content-Length头部。
你也许听说过HTML窗体(<form>、 </form>)和其它的HTML标记。窗体使我们能够从某种资源得到(GET)数据并按后来的处理把HTML窗体的字段数据发送(POST)到某种资源。你能够使用URLConnection类和MIME模拟可以得到和发送数据的HTML窗体。下面说明你怎样完成这种事务。
假设你想把窗体数据发送(POST)到某个服务器程序。发送需要对窗体数据的操作。首先,窗体的数据必须组织为名称/值对(name/value pair),其次每个对必须指定为name=value格式,再次如果发送多个名称/值对,必须使用 & 符号把每对分开,最后的name内容和value的内容必须使用application/x-www-form-urlencoded MIME类型编码。例如x=y&a=b表现了两个名称/值对--x/y和a/b。
浙公网安备 33010602011771号