请求信息十六进制显示&请求信息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码显示的主要内容,如果未能解决你的问题,请参考以下文章