第一章 java网络编程入门_HTTPClient.java

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一章 java网络编程入门_HTTPClient.java相关的知识,希望对你有一定的参考价值。

import java.net.*;
import java.io.*;
public class HTTPClient {
  String host="www.baidu.com";
  int port=80;
  Socket socket;
 
  public void createSocket()throws Exception{
    socket=new Socket("www.baidu.com",80);
  }
 

  public void communicate()throws Exception{
      System.out.println("---");
    StringBuffer sb=new StringBuffer("GET "+"/"+" HTTP/1.1\r\n");
    sb.append("Host: www.baidu.com\r\n");
    sb.append("Accept: */*\r\n");
    sb.append("Accept-Language: zh-cn\r\n");
   // sb.append("Accept-Encoding: gzip, deflate\r\n");
    sb.append("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n");
    sb.append("Connection: Keep-Alive\r\n\r\n");

    //发出HTTP请求
    OutputStream socketOut=socket.getOutputStream();
    socketOut.write(sb.toString().getBytes());
    socket.shutdownOutput();  //关闭输出流
       
    //接收响应结果
   /* InputStream socketIn=socket.getInputStream();
    ByteArrayOutputStream buffer=new ByteArrayOutputStream();
    byte[] buff=new byte[1024];  
    int len=-1;
    while((len=socketIn.read(buff))!=-1){
      buffer.write(buff,0,len);
    }
    
    System.out.println(new String(buffer.toByteArray()));  //把字节数组转换为字符串
    */



    InputStream socketIn=socket.getInputStream();
    BufferedReader br=new BufferedReader(new InputStreamReader(socketIn));
    String data;
    while((data=br.readLine())!=null){
      System.out.println(data);
    }
       
    socket.close();
  }
 
  public static void main(String args[])throws Exception{
    HTTPClient client=new HTTPClient();
    client.createSocket();
    client.communicate();
  }
}



以上是关于第一章 java网络编程入门_HTTPClient.java的主要内容,如果未能解决你的问题,请参考以下文章

第一章 java网络编程入门_Echo

第一章 java网络编程入门_mailClient.java

第一章 java网络编程入门_Receiver_Sender

第一章 java网络编程入门_Simple_test_ConnectException

《大道至简》第一章——编程的精义_读后感(Java伪代码形式)

buuctf 刷题记录 [第一章 web入门]afr_2