URL的通信连接---java URLConnection类

public abstract class URLConnection{
  public URL getURL()            //返回当前连接的URL对象
  public int getContentLength()  //返回资源文件的长度
  public String getContentType() //返回资源文件的类型
  public long getLastModified()  //返回资源文件的最后修改日期
}
URL类的openConnection()方法可创建一个URLConnection对象
public URLConnection openConnection()  throws IOException

☆互联网协议(IP)地址——InetAddress类

public class InetAddress implements Serializable{

public static InetAddress getByName(String host)

public static InetAddress getByAddress(String host, byte[] addr)

public static InetAddress getLocalHost() //返回本地主机

public String getHostAddress()   //返回IP地址字符串

public String getHostName()     //返回主机名

}

//代码示例

package cn.hncu.url;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;

import org.junit.Test;

public class URLDemo {
	@Test
	public void urlDemo1() {
		try {
			URL source = new URL("http://www.baidu.com");
			InputStream in = source.openStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(in,
					"utf-8"));
			String line;
			while ((line = br.readLine()) != null) {
				System.out.println(line);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	@Test
	public void urlConnectionDemo(){
		try {
			URL source = new URL("http://www.hncu.net:80");
			URLConnection con = source.openConnection();
			System.out.println( con.getURL() );
			System.out.println( con.getContentLength() );
			System.out.println( con.getContentType() );
			System.out.println( new Date(con.getLastModified()) );
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	@Test
	public void inetAddressDemo(){
		try {
			InetAddress ip = InetAddress.getByName("www.sina.com.cn");
			//InetAddress ip = InetAddress.getByName("58.47.143.5");
			System.out.println(ip.getHostAddress());
			System.out.println(ip.getHostName());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	@Test
	public void inetAddressDemo2(){
		try {
			URL url = new URL("http://www.hncu.net:80");
			InetAddress ip = InetAddress.getByName(url.getHost());
			System.out.println(ip.getHostAddress());
			System.out.println(ip.getHostName());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
时间: 2024-10-29 19:07:26

URL的通信连接---java URLConnection类的相关文章

URLConnection类详解

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3753224.html URLConnection概述 URLConnection是一个抽象类,表示指向URL指定资源的活动连接. URLConnection类本身依赖于Socket类实现网络连接.一般认为,URLConnection类提供了比Socket类更易于使用.更高级的网络连接抽象.但实际上,大多数程序员都会忽略它

java基础知识回顾之java Thread类学习(八)--java多线程通信等待唤醒机制经典应用(生产者消费者)

 *java多线程--等待唤醒机制:经典的体现"生产者和消费者模型 *对于此模型,应该明确以下几点: *1.生产者仅仅在仓库未满的时候生产,仓库满了则停止生产. *2.消费者仅仅在有产品的时候才能消费,仓空则等待. *3.当消费者发现仓储没有产品可消费的时候,会唤醒等待生产者生产. *4.生产者在生产出可以消费的产品的时候,应该通知等待的消费者去消费. 下面先介绍个简单的生产者消费者例子:本例只适用于两个线程,一个线程生产,一个线程负责消费. 生产一个资源,就得消费一个资源. 代码如下: pub

java基础知识回顾之java Thread类学习(七)--java多线程通信等待唤醒机制(wait和notify,notifyAll)

1.wait和notify,notifyAll: wait和notify,notifyAll是Object类方法,因为等待和唤醒必须是同一个锁,不可以对不同锁中的线程进行唤醒,而锁可以是任意对象,所以可以被任意对象调用的方法,定义在Object基类中. wait()方法:对此对象调用wait方法导致本线程放弃对象锁,让线程处于冻结状态,进入等待线程的线程池当中.wait是指已经进入同步锁的线程,让自己暂时让出同步锁,以便使其他正在等待此锁的线程可以进入同步锁并运行,只有其它线程调用notify方

网络编程(2)——连接父类URLConnection

在前面网络编程(1)中我们了解到如果想要访问其他主机的资源,那么就得知道该资源的URL.那么如果知道了该URL,我们该怎样去访问其主机上的资源呢?本文主要讲清楚Java语言编程的Android网络编程的最基础的父类URLConnectiion,该类是利用URL来实现主机资源的访问,其每个子类的特点都进一步优化并支持新的网络协议,达到从全面到局部,从广泛到精细的系统学习. 从JavaAPI中可以看到 java.lang.Object java.net.URLConnection URLConnec

J2EE 关于WebLogic下应用使用URL.openConnection获取连接返回 HttpsURLConnection与SOAPHttpsURLConnection的问题

J2EE 关于WebLogic下应用使用URL.openConnection获取连接返回 HttpsURLConnection与SOAPHttpsURLConnection的问题 2012年03月09日 ⁄ 综合 ⁄ 共 1353字 ⁄ 字号 小 中 大 ⁄ 评论关闭 做集成工作时使用到了第三方公司提供的接口JAR包,在本地TOMCAT测试通过后部署到WEBLOGIC上.抛出了weblogic.net.http.SOAPHttpsURLConnection cannot be cast to j

MyEclipse中hibernate通过数据库逆向生成java实体类

1.点击window->show view->DB Browser,然后出现如下窗口 右键空白处选择New,弹出如下窗口: 先点击Add JARs按钮,选择相应数据库的JDBC driver(因为我用的是MySQL,所以选择的是之前已经下好的JDBC driver),添加完JDBC driver后.然后选择Driver template,Driver name(任意填写),Connection URL.数据库用户名.数据库登录密码,然后点击点击Test Driver(测试一下数据库是否连接成功

使用URL创建网络连接、网络流的阻塞问题

在读取网络中流数据时,通常要创建一个网络连接.然而在创建URL连接时,我们通常会忽略掉设置ConnectTimeout,以及ReadTimeout: URL url = new URL(urlstr); URLConnection conn = url.openConnection(); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); while(!in.ready()){

Android逆向之Java常用类

Android逆向之Java常用类 包装类 byte ­> Byte int ­> Integer short ­> Short long ­> Long float ­> Float double ­> Double boolean ­> Boolean char ­> Character   public static void test0(){        int n =123456;      // 整型转字符串         String nu

java String 类 基础笔记

字符串是一个特殊的对象. 字符串一旦初始化就不可以被改变. String s = "abc";//存放于字符串常量池,产生1个对象 String s1=new String("abc");//堆内存中new创建了一个String对象,产生2个对象 String类中的equals比较字符串中的内容. 常用方法: 一:获取 1.获取字符串中字符的个数(长度):length();方法. 2.根据位置获取字符:charAt(int index); 3.根据字符获取在字符串中