第一章 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();
  }
}

时间: 2025-01-02 13:10:40

第一章 java网络编程入门_HTTPClient.java的相关文章

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

import java.net.*;import java.io.*; public class MailSender{  private String smtpServer="smtp.mydomain.com";  //SMTP邮件服务器的主机名  //private String smtpServer="localhost";  private int port=25; public static void main(String[] args){    Me

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

import java.io.*;public class EchoPlayer {  public String echo(String msg) {    return "echo:"+msg;  }  public void talk()throws IOException {    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));    String msg=null;    whil

Java学习笔记—第十二章 Java网络编程入门

第十二章  Java网络编程入门 Java提供的三大类网络功能: (1)URL和URLConnection:三大类中最高级的一种,通过URL网络资源表达方式,可以很容易确定网络上数据的位置.利用URL的表示和建立,Java程序可以直接读入网络上所放的数据,或把自己的数据传送到网络的另一端. (2)Socket:又称"套接字",用于描述IP地址和端口(在Internet中,网络中的每台主机都有一个唯一的IP地址,而每台主机又通过提供多个不同端口来提供多种服务).在客户/服务器网络中,当客

第一章 java网络编程入门_Echo

//服务器端程序  EchoServer.java import java.io.*;import java.net.*;public class EchoServer {  private int port=8000;  private ServerSocket serverSocket; public EchoServer() throws IOException {    serverSocket = new ServerSocket(port);    System.out.printl

java网络编程入门教程

网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在 学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的.首先来问一个问题:你 会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛,很简单的事情啊!其实初学者如果入门网络编程的话也可以做到这么简单! 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.

java网络编程入门

网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. java.net包中J2SE的API包含有类和接口,它们提供低层次的通信细节.你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节. java.net包中提供了两种常见的网络协议的支持: TCP: TCP是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信.通常用于互联网协议,被称TCP / IP. UDP:UDP是用户数据报协议的缩写,一个无连接的协议.提供了应用程序之间要发送的数据的数据包. 本教程

第一章 java网络编程入门_Simple_test_ConnectException

import java.io.*;import java.net.*;public class SimpleServer {  public static void main(String args[])throws Exception {    ServerSocket serverSocket = new ServerSocket(8000,2);  //连接请求队列的长度为2    Thread.sleep(360000);   //睡眠6分钟  }} import java.io.*;i

第一章 java网络编程入门_Receiver_Sender

import java.io.*;import java.net.*;public class Receiver {  private int port=8000;  private ServerSocket serverSocket;  private static int stopWay=1;  //结束通信的方式  private final int NATURAL_STOP=1; //自然结束  private final int SUDDEN_STOP=2;  //突然终止程序  pr

java 网络编程 TCP协议 java 服务器和客户端 java socket编程

一个 HelloWord 级别的 Java Socket 通信的例子.通讯过程:        先启动 Server 端,进入一个死循环以便一直监听某端口是否有连接请求.然后运行 Client 端,客户端发出连接请求,服务端监听到这次请求后向客户端发回接受消息,连接建立,启动一个线程去处理这次请求,然后继续死循环监听其他请求.客户端输入字符串后按回车键,向服务器发送数据.服务器读取数据后回复客户端数据.这次请求处理完毕,启动的线程消亡.如果客户端接收到 "OK" 之外的返回数据,会再次