URLConnection/HttpURLConnection 使用

1jdk上的标准说明

public abstract class URLConnection extends Object super class of:
HttpURLConnection

抽象类 URLConnection 是所有表示应用程序与 URL 之间通信链路的类的超类。该类的实例可以用来对由 URL 引用的资源进行读取和写入操作。一般情况下,生成一个对 URL 的连接是一多步过程:

 

openConnection()connect()
影响对远程资源连接的操纵参数。 与资源的交互:查询头文件域和内容。
---------------------------->
time
  1. 通过调用 URL 的 openConnection 方法产生一连接对象。
  2. 操纵设置参数和一般请求属性。
  3. 使用 connect 方法,实现对远程对象的实际连接。
  4. 远程对象一旦可用,就可以访问远程对象的域和内容。

通过如下的方法修改设置参数:

    • setAllowUserInteraction
    • setDoInput
    • setDoOutput
    • setIfModifiedSince
    • setUseCaches

通过使用如下的方法修改一般请求属性:

    • setRequestProperty

AllowUserInteractionUseCaches 参数的缺省值可以通过使用 setDefaultAllowUserInteractionsetDefaultUseCaches 方法来设置。 而一般请求属性的缺省值可以通过方法 setDefaultRequestProperty 来设置 。

上面的每个 set 方法都有相应 get 方法来获取参数和一般请求属性的值。可用的特定参数和一般请求属性是特定于协议的。

对远程对象的连接完成后,用下列方法访问报头域和内容:

    • getContent
    • getHeaderField
    • getInputStream
    • getOutputStream

确认报头域能够被频繁访问。方法:

    • getContentEncoding
    • getContentLength
    • getContentType
    • getDate
    • getExpiration
    • getLastModified

提供对这些域的便利访问。 getContentType 方法由 getContent 方法调用以确定远程对象的类型; 子类来覆盖方法 getContentType 可能是有利的。

在通常的情况下,所有的连接前参数和一般请求属性都可以忽略:系统为它们预置合理的值。对大多数该接口的客户机来说,只对两个方法感兴趣:getInputStreamgetObject,一些便捷方法把它们在 URL 类中作了映象。 

1发送post请求
public class DoPostURLConnection
{
public static void main(String args[])
{
try{

URL url = new URL("http://localhost:8888/97741/815/formAction.asp");
URLConnection uc = url.openConnection();
uc.setDoOutput(true);

OutputStream raw = uc.getOutputStream();
OutputStream buf = new BufferedOutputStream(raw);
OutputStreamWriter out = new OutputStreamWriter(buf,"GBK");
out.write("myName=Alec Cheung&myEmail=eboysit@hotmail.com");
out.flush();
out.close();

InputStream in = uc.getInputStream();
in = new BufferedInputStream(in);
Reader r = new InputStreamReader(in);
int c;
System.out.println("==================Beging====================");
while((c = r.read()) != -1)
System.out.print((char) c);
in.close();
System.out.println("===================End======================");
}
catch(IOException e){
///
}
}
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值