马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
windows系统样,他们做了什么事或者留了一些后门程序,谁都不知道,二,java开发是跨平台,任何系统上都可以运行,对于保密型系统和大型系统开发这是必要的
在会商HTTP协定的详细哀求和呼应头字段之前,让我们先来使用之前所学的常识来完成一个HTTP摹拟器。所谓HTTP摹拟器就是能够在用户输出HTTP的哀求动静后,由这个摹拟器将HTTP哀求发送给响应的服务器,再吸收服务器的呼应动静。这个HTTP摹拟器有几下特性:
1.能够手工输出HTTP哀求,并向服务器发送。
2.吸收服务器的呼应动静。
3.动静头和实体内容分段显现,也就是说,并非象Telnet等客户端一样将HTTP响
应动静全体显现,而是先显现动静头,然后由用户决意是不是显现实体内容。
4.会合发送哀求。这个HTTP摹拟器和Telnet分歧的是,并非一入手下手就毗连服务器,
而是将域名、端口和HTTP哀求动静都输完后,才毗连服务器,并将这些哀求发送给服务器。如许做的能够防备服务器提早封闭收集毗连的征象。
5.能够轮回做上述的操纵。
从以上的形貌看,要完成这个HTTP摹拟器必要以下五步:
1.创建一个年夜轮回,在轮回外部是一个哀求/呼应对。如许就能够向服务器发送屡次哀求/呼应以了。上面的四步都是被包含在轮回外部的。
2.从把持台读取域名和端口,这个功效能够由readHostAndPort(...)来完成。
3.从把持台读取HTTP哀求动静,这个功效由readHttpRequest(...)来完成。
4.向服务器发送HTTP哀求动静,这个功效由sendHttpRequest()来完成。
5.读取服务器回送的HTTP呼应动静,这个功效由readHttpResponse(...)来完成。
上面我们就来慢慢完成这五步:
1、创建一个年夜轮回
在创建这个轮回之前,先创建一其中叫HttpSimulator的类,并在这个类中界说一个run办法用来运转这个程序。完成代码以下:
001 packagehttp;
002
003 importjava.net.*;
004 importjava.io.*;
005
006 publicclassHttpSimulator
007 {
008 privateSocketsocket;
009 privateintport=80;
010 privateStringhost="localhost";
011 privateStringrequest="";//HTTP哀求动静
012 privatebooleanisPost,isHead;
013
014 publicvoidrun()throwsException
015 {
016 BufferedReaderreader=newBufferedReader(newInputStreamReader(
017 System.in));
018 while(true) //入手下手年夜轮回
019 {
020 try
021 {
022 if(!readHostAndPort(reader))
023 break;
024 readHttpRequest(reader);
025 sendHttpRequest();
026 readHttpResponse(reader);
027 }
028 catch(Exceptione)
029 {
030 System.out.println("err:"+e.getMessage());
031 }
032 }
033 }
034 publicstaticvoidmain(String[]args)throwsException
035 {
036 newHttpSimulator().run();
037 }
038 }
从下面的代码能够看出,第022、024、025和026分离挪用了上述的四个办法。这些办法的详细完成将在前面会商。下面的代码除挪用这四个中心办法外,还做了一些筹办事情。在008至012行界说了一些今后要用到的变量。在016和017利用用把持台的输出流创建了BufferedReader对象,经由过程这个对象,能够间接从把持台读取字符串,而不是一个个地字节。
<p>
在1995年5月23日以“Java”的名称正式发布了。 |