模拟服务器,用IE浏览器代替客户端
代码如下:
packagecom.hbsi.net;
importjava.io.PrintWriter;
importjava.net.ServerSocket;
importjava.net.Socket;
publicclassServerDemo{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args)throwsException{
ServerSocketss=newServerSocket(9009);
Sockets=ss.accept();
Stringip=s.getInetAddress().getHostAddress();
System.out.println(ip+"ok,成功连接");
PrintWriterpwout=newPrintWriter(s.getOutputStream(),true);
pwout.println("<fontcolor='red'size=7>恭喜访问成功。。。。。</font>");
s.close();
ss.close();
}
}
URl类的使用
URl(UniformResourceLocator)类代表统一资源定位器,统一资源定位器是指互联网“资源”的名称。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据可或搜索引擎的查询。通常URL可以由协议名、主机、端口和资源组成。URL的格式为"protocol://host:port/resourceName"。例如,URL地址“http://www.163.index.htm”。
URL提供了多个构造方法用于创建URL对象,常用的有两个:
publicURL(Stringstr)
PublicURL(URLcontext,Stringstr)
可以通过绝对地址创建对象:
URLurl=newURL(“www.baidu.com”);
如果获得URL对象之后,就可以调用如下方法来访问该URL对应的资源。
StringgetFile():获取此URL的资源名。
StringgetHost():获取此URL的主机名。
StringgetPath():获取此URL的路径部分。
StringgetPort():获取此URL的端口号。
StringgetProtocol():获取此URL的协议名称。
StinggetQuery():获取此URL的查询字符串部分。
URLConnectionopenConnection():返回一个URLConnection对象,它表示到URL所引用的远程对象的连接。
InputStreamopenStream():打开此URL的链接,并返回一个用于读取该URL资源的InputStream。
例:
packagecom.hbsi.net;
importjava.net.*;
importjava.io.*;
publicclassTestNet{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args)throwsException{
URLurl=newURL("http://www.sina.com/");
InputStreamin=url.openStream();
BufferedReaderbrin=newBufferedReader(newInputStreamReader(in));
Stringline=null;
FileOutputStreamfos=newFileOutputStream("F:\\mylovewebsite.html");
while((line=brin.readLine())!=null){
fos.write(line.getBytes());
System.out.println(line);
}
brin.close();
fos.close();
}
}
这样就可以在F盘中保存了新浪网首页