黑马程序员技术交流社区

标题: 关于自定义浏览器客户端的程序 [打印本页]

作者: 月光海    时间: 2014-4-21 16:08
标题: 关于自定义浏览器客户端的程序
本帖最后由 月光海 于 2014-4-22 08:59 编辑
  1. import java.io.*;
  2. import java.net.*;
  3. class MyIE
  4. {
  5.         public static void main(String[] args) throws Exception
  6.         {
  7.                  
  8.                 Socket s=new Socket("192.168.1.101",8080);
  9.                 PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
  10.                 pw.println("GET /myweb/1.html HTTP/1.1");
  11.                 pw.println("Host: 192.168.1.101:8080");
  12.                 pw.println("Connection: closed");
  13.                 pw.println("Accept-Encoding: gzip,deflate,sdch");
  14.                 pw.println("Accept-Language: zh-CN,zh;q=0.8");
  15.                 pw.println("Accept: */*");
  16.                 pw.println();
  17.                 pw.println();
  18.                 BufferedReader brin=new BufferedReader(new InputStreamReader(s.getInputStream()));
  19.                 String line=null;
  20.                 while ((line=brin.readLine())!=null)
  21.                 {
  22.                         System.out.println(line);
  23.                 }
  24.                 s.close();
  25.                  
  26.                
  27.         }
  28. }
复制代码


我打开tomcat服务器,运行这个代码,显示的信息如下,数据已经获取到了,而且显示OK,那为什么会报了连接重置异常呢,我用毕老师的代码测试也是这样,这是什么情况呢,有没有人来指导下????


  1. C:\Users\Administrator\Desktop\bixiangdong>java MyIE
  2. HTTP/1.1 200 OK
  3. Server: Apache-Coyote/1.1
  4. Accept-Ranges: bytes
  5. ETag: W/"74-1398064623507"
  6. Last-Modified: Mon, 21 Apr 2014 07:17:03 GMT
  7. Content-Type: text/html
  8. Content-Length: 74
  9. Date: Mon, 21 Apr 2014 08:05:30 GMT
  10. Connection: close

  11. <html>
  12. <body>
  13. <title>

  14. </title><h1>这是我的主场</h1>
  15. </body>
  16. Exception in thread "main" java.net.SocketException: Connection reset
  17.         at java.net.SocketInputStream.read(SocketInputStream.java:196)
  18.         at java.net.SocketInputStream.read(SocketInputStream.java:122)
  19.         at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
  20.         at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
  21.         at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
复制代码

作者: 月光海    时间: 2014-4-21 17:16
来个大神指导指导啊,我刚刚把代码改了一部分改了这段
  1. InputStream in=s.getInputStream();
  2.                 byte[]buff=new byte[1024];
  3.                 int len=in.read(buff);
  4.                 String data=new String(buff,0,len);
  5.                 System.out.println(data);
复制代码

我直接用字节流读的,没有用字符流这样就好了,很明显是字符流这里出现了问题,但是是什么原因导致的呢,谁来给说说???
作者: 月光海    时间: 2014-4-21 18:42
有没有人来救命???




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2