Linux Tomcat的服务器如何查看接口请求方式?

问题描述

最近在和安卓开发对接接口,遇到一个接口总是报405错误,有对接经验的开发应该都知道是请求方式不对,假如接口定义为POST请求的,但是客户端却用GET请求,这时候就会报这个错误。Android客户端那边使用xUtils框架请求网络API接口,也是多年的Android开发,对接也是使用post请求过来的,所以初步排查有可能是缓存或者是被代理服务器给转了,为了确定请求的方式和其它业务参数,需要去查看日志验证

项目环境

  • JDK1.8.0_111-b14
  • Linux3.10.0-1062.el7.x86_64
  • Apache Tomcat/8.5.85

查看localhost_access_log日志文件

因为项目是部署在tomcat里的,所以可以通过查看tomcat的localhost_access_log.txt日志文件,localhost_access_log日志文件一般按照日期进行存储,我们只要查看对应的日志即可

通过linux命令查看一下

shell 复制代码
cat -n localhost_access_log.2024-03-26.txt |grep "/api"

日志打印如下,所以就可以知道请求接口对应的请求方式,返回的状态码等等信息都可以知道

1 192.10.168.55 - - [26/Mar/2024:09:34:36 +0800] "POST /api-server/rest/api/url_by_code HTTP/1.1" 200 268

打印日志的格式可以在哪里配置?可以在tomcat的server.xml配置,如下

xml 复制代码
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

具体的参数意义,可以参考tomcat官网的,官网链接:https://tomcat.apache.org/tomcat-8.0-doc/config/valve.html

翻译大致如:

总结归纳

通过后端查看日志,可以知道了Android客户端那边确实用GET请求调用了接口,但是在Android代码里用xUtils是用post请求方式的,这个问题排查了比较久,后面后端清了缓存,Android客户端也清缓存,重新安装了,后面调用都是POST请求,所以是因为缓存导致?暂时没定位到具体原因,先做记录,方便以后回顾

相关推荐
AI科技星30 分钟前
张祥前统一场论宇宙大统一方程的求导验证
服务器·人工智能·科技·线性代数·算法·生活
魂万劫43 分钟前
如何在虚拟机VM上|Linux环境内安装windows
linux·运维·服务器·windows
计算机学姐1 小时前
基于SpringBoot的高校论坛系统【2026最新】
java·vue.js·spring boot·后端·spring·java-ee·tomcat
序属秋秋秋1 小时前
《Linux系统编程之进程控制》【进程等待】
linux·c语言·c++·进程·系统编程·进程控制·进程等待
zfj3211 小时前
top 命令中的 wa (IO wait) 指标,理论上几乎完全是由磁盘IO(包括swap)引起的,而不是网络IO
linux·网络·top·iowait
Xの哲學1 小时前
Linux网卡注册流程深度解析: 从硬件探测到网络栈
linux·服务器·网络·算法·边缘计算
不哦罗密经1 小时前
python相关
服务器·前端·python
用户6135411460161 小时前
libicu-62.1-6.ky10.x86_64.rpm 安装步骤详解(麒麟V10系统)
linux
2501_945837433 小时前
云服务器的技术本质与发展演进
服务器
秋4273 小时前
防火墙基本介绍与使用
linux·网络协议·安全·网络安全·架构·系统安全