• 基于HTTP协议的网络编程(java)


    1.我们知道服务器端和客户端之间的信息交互,首先需要请求,那么基于HTTP协议的网络编程与基本的网络编程有什么区别呢?

    将请求部分更加地细化,请求的内容需要加上HTTP规定的有关信息。

    2.现在我们讨论的是基于HTTP协议的网络编程,那么服务器端我们就不写了,因为事情变得更加复杂了,我们需要在服务器端写入一篇超文本文件,然后对客户端客户端的请求做出处理。我们直接下载tomcat容器来帮助我们完成响应就行了。

    3.在webapp下面建立一个html文件

    4.

     1 import java.net.Socket;
     2 import java.net.InetAddress;
     3 import java.io.*;
     4 import java.net.UnknownHostException;
     5 import java.io.IOException;
     6 public class Client{
     7   public static void main (String[] args){
     8    
     9 
    10 
    11     try{
    12     Socket s=new Socket( "125.220.197.237", 8080); //主机ip
    13     BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
    14         bw.write("OPTIONS / HTTP/1.1");
    15         bw.newLine();
    16         bw.write("Host:125.220.197.237 :80");
    17         bw.newLine();
    18         bw.write("Content-Type: text/html");
    19         bw.newLine();
    20         bw.newLine();
    21         bw.flush();
    22         BufferedReader br = new BufferedReader(new InputStreamReader
    23 
    24 (s.getInputStream()));
    25         String str = null;
    26         while((str = br.readLine()) != null) {
    27             System.out.println(str);
    28         }
    29         bw.close();
    30         br.close();
    31         s.close();
    32       }catch(IOException e){}
    33 
    34 
    35 
    36     
    37 
    38 
    39 
    40   }
    41 
    42 
    43 
    44 }

    5.如果请求部分写错,会报这些错误

    1. [http-nio-8080-exec-5] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header  
    2.  Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.  
    3.  java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens  

    6.如果你发现这样的情况,什么都不显示,很明显,你没有跟服务器端连接。那么或许你的ip地址跟本机的ip地址不一样(计算机在联网和不联网的情况下ip地址可能不一样)

    7.最终结果

  • 相关阅读:
    变量和基本数据类型,深浅拷贝问题
    计算机系统与编程语言分类
    关于计算机硬件的基本知识
    Python学习之路——函数
    Python学习之路——Day06 元组
    day--07
    数据类型——可变不可变类型
    数字类型
    流程控制——while循环
    流程控制——if判断
  • 原文地址:https://www.cnblogs.com/S-Mustard/p/7526371.html
Copyright © 2020-2023  润新知