向指定URL发送GET方法的请求.docVIP

  • 5
  • 0
  • 约4.9千字
  • 约 5页
  • 2016-11-26 发布于重庆
  • 举报
向指定URL发送GET方法的请求

向指定URL发送GET方法的请求(java) 2010-03-04 15:44 向指定URL发送GET方法的请求 2009-10-21 13:28 使用Java发送GET、POST请求 ——节选自《疯狂Java讲义》 URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和 URL 之间的通信链接。程序可以通过URLConnection实例向该URL发送请求、读取URL引用的资源。 通常创建一个和 URL 的连接,并发送请求、读取此 URL 引用的资源需要如下几个步骤: (1)通过调用URL对象openConnection()方法来创建URLConnection对象。 (2)设置URLConnection的参数和普通请求属性。 (3)如果只是发送GET方式请求,使用connect方法建立和远程资源之间的实际连接即可;如果需要发送POST方式的请求,需要获取URLConnection实例对应的输出流来发送请求参数。 (4)远程资源变为可用,程序可以访问远程资源的头字段、或通过输入流读取远程资源的数据。 在建立和远程资源的实际连接之前,程序可以通过如下方法来设置请求头字段: qsetAllowUserInteraction:设置该URLConnection的allowUserInteraction请求头字段的值。 qsetDoInput:设置该URLConnection的doInput请求头字段的值。 qsetDoOutput:设置该URLConnection的doOutput请求头字段的值。 qsetIfModifiedSince:设置该URLConnection的ifModifiedSince请求头字段的值。 qsetUseCaches:设置该URLConnection的useCaches请求头字段的值。 除此之外,还可以使用如下方法来设置、或增加通用头字段: qsetRequestProperty(String key, String value):设置该URLConnection的key请求头字段的值为value。如下代码所示: conn.setRequestProperty(accept , */*) qaddRequestProperty(String key, String value):为该URLConnection的key请求头字段的增加value值,该方法并不会覆盖原请求头字段的值,而是将新值追加到原请求头字段中。 当远程资源可用之后,程序可以使用以下方法用于访问头字段和内容: qObject getContent():获取该URLConnection的内容。 qString getHeaderField(String name):获取指定响应头字段的值。 qgetInputStream():返回该URLConnection对应的输入流,用于获取URLConnection响应的内容。 qgetOutputStream():返回该URLConnection对应的输出流,用于向URLConnection发送请求参数。 注意:如果既要使用输入流读取URLConnection响应的内容,也要使用输出流发送请求参数,一定要先使用输出流,再使用输入流。 getHeaderField方法用于根据响应头字段来返回对应的值。而某些头字段由于经常需要访问,所以Java提供了以下方法来访问特定响应头字段的值: qgetContentEncoding:获取content-encoding响应头字段的值。 qgetContentLength:获取content-length响应头字段的值。 qgetContentType:获取content-type响应头字段的值。 qgetDate():获取date响应头字段的值。 qgetExpiration():获取expires响应头字段的值。 qgetLastModified():获取last-modified响应头字段的值。 下面程序示范了如何向Web站点发送GET请求、POST请求,并从Web站点取得响应的示例。 public class TestGetPost { /** * 向指定URL发送GET方法的请求 * @param url 发送请求的URL * @param param 请求参数,请求参数应该是name1=value1name2=value2的形式。 * @return URL所代表远程资源的响应 */ public static String sendGet(String url , String param) { String result = ; BufferedReader in = null; try { St

文档评论(0)

1亿VIP精品文档

相关文档