请求信息十六进制显示&请求信息AXCLL码显示

Posted XiYang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请求信息十六进制显示&请求信息AXCLL码显示相关的知识,希望对你有一定的参考价值。

请求信息十六进制显示

 

package web;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class MyHttpServer 

    private static int count = 1;
    private static char arr[] = \'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'A\',\'B\',\'C\',\'D\',\'E\',\'F\';

    public static void main(String[] args) throws IOException 
        byte b = 0x3f;
        byte2(b);
        ServerSocket server = new ServerSocket(8080);
        System.out.println("服务器已经启动,监听端口在8080...");
        while (true) 
            Socket socket = server.accept();
            InputStream is = socket.getInputStream();
            OutputStream os = socket.getOutputStream();
            byte[] buf = new byte[1024*1024];

            new Thread(new Runnable() 
                @Override
                public void run() 
                    int len = 0;
                    try 
                        len = is.read(buf);
                        if (len == -1) return;
                        System.out.println("读到的字节数量:" + len);
                        String s1 = bytes2(buf, len);
                        System.out.println(s1);
                        String s = new String(buf, 0, len);
                        System.out.println(s);
                        os.write("HTTP/1.1 200 OK\\r\\n".getBytes());
                        os.write("Content-Type: text/plain\\r\\n".getBytes());
                        os.write("\\r\\n".getBytes());
                        os.write((" "+count).getBytes());
                        count++;
                        os.flush();
                     catch (IOException e) 
                        throw new RuntimeException(e);
                    finally 
                        if (socket != null)
                            try 
                                socket.close();
                             catch (IOException e) 
                                throw new RuntimeException(e);
                            
                        
                    
                
            ).start();
        
    
    private static String bytes2(byte[] buf,int len)
        StringBuffer sBuffer = new StringBuffer();
        int cnt = 0;
        for(int i=0;i<len;i++)
            sBuffer.append(byte2(buf[i]) + " ");
            cnt++;
            if (cnt % 8 == 0) sBuffer.append(" ");
            if (cnt % 16 == 0) sBuffer.append("\\r\\n");
        
        return sBuffer.toString();
    
    private static String byte2(byte bt)
        int lo = bt & 0b00001111;
        int hi = (bt & 0b11110000) >> 4;//位移运算符 移四位,得到四个1
        char clo = arr[lo];
        char chi = arr[hi];
        return chi+ "" + clo;
    

 

访问页面

 

 

 

 

 

 

 

请求信息AXCLL码显示

package web;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class MyHttpServer 

    private static int count = 1;
    private static char arr[] = \'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'A\',\'B\',\'C\',\'D\',\'E\',\'F\';

    public static void main(String[] args) throws IOException 
        byte b = 0x3f;
        byte2(b);
        ServerSocket server = new ServerSocket(8080);
        System.out.println("服务器已经启动,监听端口在8080...");
        while (true) 
            Socket socket = server.accept();
            InputStream is = socket.getInputStream();
            OutputStream os = socket.getOutputStream();
            byte[] buf = new byte[1024*1024];

            new Thread(new Runnable() 
                @Override
                public void run() 
                    int len = 0;
                    try 
                        len = is.read(buf);
                        if (len == -1) return;
                        System.out.println("读到的字节数量:" + len);
                        String s1 = bytes2(buf, len);
                        System.out.println(s1);
                        String s = new String(buf, 0, len);
                        System.out.println(s);
                        os.write("HTTP/1.1 200 OK\\r\\n".getBytes());
                        os.write("Content-Type: text/plain\\r\\n".getBytes());
                        os.write("\\r\\n".getBytes());
                        os.write((" "+count).getBytes());
                        count++;
                        os.flush();
                     catch (IOException e) 
                        throw new RuntimeException(e);
                    finally 
                        if (socket != null)
                            try 
                                socket.close();
                             catch (IOException e) 
                                throw new RuntimeException(e);
                            
                        
                    
                
            ).start();
        
    
    private static String bytes2(byte[] buf,int len)
        StringBuffer sBuffer = new StringBuffer();
        StringBuffer sb1 = new StringBuffer();
        StringBuffer sb2 = new StringBuffer();
        int cnt = 0;
        for(int i=0;i<len;i++)
            sb1.append(byte2(buf[i]) + " ");
            if (buf[i] >= 0x20 && buf[i] <= 0x7e)
                sb2.append((char)buf[i]);
            else 
                sb2.append(".");
            
            cnt++;
            if (cnt % 8 == 0) sb1.append(" ");
            if (cnt % 16 == 0) 
                sBuffer.append(sb1).append(sb2).append("\\r\\n");
                 sb1 = new StringBuffer();
                 sb2 = new StringBuffer();
                cnt = 0;
            
        
        if (cnt != 0) sBuffer.append(sb1).append("  ").append(sb2).append("\\r\\n");
        return sBuffer.toString();
    
    private static String byte2(byte bt)
        int lo = bt & 0b00001111;
        int hi = (bt & 0b11110000) >> 4;//位移运算符 移四位,得到四个1
        char clo = arr[lo];
        char chi = arr[hi];
        return chi+ "" + clo;
    

 

访问页面

 

 

 

 

 

 

差不多一样即可

响应码

响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。
响应码分五种类型,由它们的第一位数字表示:
1.1xx:信息,请求收到,继续处理
2.2xx:成功,行为被成功地接受、理解和采纳
3.3xx:重定向,为了完成请求,必须进一步执行的动作
4.4xx:客户端错误,请求包含语法错误或者请求无法实现
5.5xx:服务器错误,服务器不能实现一种明显无效的请求

下表显示每个响应码及其含义:

所有 HTTP 状态代码及其定义。 
 代码  指示  

2xx  成功  
200  正常;请求已完成。  
201  正常;紧接 POST 命令。  
202  正常;已接受用于处理,但处理尚未完成。  
203  正常;部分信息 — 返回的信息只是一部分。  
204  正常;无响应 — 已接收请求,但不存在要回送的信息。  

3xx  重定向  
301  已移动 — 请求的数据具有新的位置且更改是永久的。  
302  已找到 — 请求的数据临时具有不同 URI。  
303  请参阅其它 — 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。  
304  未修改 — 未按预期修改文档。  
305  使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。  
306  未使用 — 不再使用;保留此代码以便将来使用。  

4xx  客户机中出现的错误  
400  错误请求 — 请求中有语法问题,或不能满足请求。  
401  未授权 — 未授权客户机访问数据。  
402  需要付款 — 表示计费系统已有效。  
403  禁止 — 即使有授权也不需要访问。  
404  找不到 — 服务器找不到给定的资源;文档不存在。  
407  代理认证请求 — 客户机首先必须使用代理认证自身。  
415  介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。  

5xx  服务器中出现的错误  
500  内部错误 — 因为意外情况,服务器不能完成请求。  
501  未执行 — 服务器不支持请求的工具。  
502  错误网关 — 服务器接收到来自上游服务器的无效响应。  
503  无法获得服务 — 由于临时过载或维护,服务器无法处理请求。
-----------------------------------------------------------------------------------------------------------------------
HTTP 400 - 请求无效 
HTTP 401.1 - 未授权:登录失败 
HTTP 401.2 - 未授权:服务器配置问题导致登录失败 
HTTP 401.3 - ACL 禁止访问资源 
HTTP 401.4 - 未授权:授权被筛选器拒绝 
HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败  
HTTP 403 - 禁止访问 
HTTP 403 - 对 Internet 服务管理器 (HTML) 的访问仅限于 Localhost 
HTTP 403.1 禁止访问:禁止可执行访问 
HTTP 403.2 - 禁止访问:禁止读访问 
HTTP 403.3 - 禁止访问:禁止写访问 
HTTP 403.4 - 禁止访问:要求 SSL 
HTTP 403.5 - 禁止访问:要求 SSL 128 
HTTP 403.6 - 禁止访问:IP 地址被拒绝 
HTTP 403.7 - 禁止访问:要求客户证书 
HTTP 403.8 - 禁止访问:禁止站点访问 
HTTP 403.9 - 禁止访问:连接的用户过多 
HTTP 403.10 - 禁止访问:配置无效 
HTTP 403.11 - 禁止访问:密码更改 
HTTP 403.12 - 禁止访问:映射器拒绝访问 
HTTP 403.13 - 禁止访问:客户证书已被吊销 
HTTP 403.15 - 禁止访问:客户访问许可过多 
HTTP 403.16 - 禁止访问:客户证书不可信或者无效 
HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效 
HTTP 404.1 - 无法找到 Web 站点 
HTTP 404 - 无法找到文件 
HTTP 405 - 资源被禁止 
HTTP 406 - 无法接受 
HTTP 407 - 要求代理身份验证 
HTTP 410 - 永远不可用 
HTTP 412 - 先决条件失败 
HTTP 414 - 请求 - URI 太长 
HTTP 500 - 内部服务器错误 
HTTP 500.100 - 内部服务器错误 - ASP 错误 
HTTP 500-11 服务器关闭 
HTTP 500-12 应用程序重新启动 
HTTP 500-13 - 服务器太忙 
HTTP 500-14 - 应用程序无效 
HTTP 500-15 - 不允许请求 global.asa 
Error 501 - 未实现 
HTTP 502 - 网关错误

以上是关于请求信息十六进制显示&请求信息AXCLL码显示的主要内容,如果未能解决你的问题,请参考以下文章

HTTP返回码

http错误码大全?

下笔有神丨http状态码

http错误码大全

HTTP 响应编码

HTTP 状态码