关于jemeter调接口遇到的HTTP500内部服务器错误

【压力测试 2】JMeter压力测试之Internal server error 500 问题解决思路 出现Internal server error 500错误,往往意味着服务端出现一些未知异常,但是在排查的时候我们不能仅仅只是关注应用服务,而是要关注从服务端接收请求开始,一直到应用服务的整条链路。以本文中的情景为例,就是从HAProxy 到 Jetty 再到 应用服务,中间的任何一个环节都有可能导致500错误。自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。 阅读详情

HTTP500内部服务器错误

标签: HTTP500服务器内部错误
  2605人阅读  评论(0)  收藏  举报
  分类:

目录(?)[+]

1. 问题描述

1.使用http方式请求对方服务器,返回JSON格式数据 
2.由于是测试环境,网段不是同一个,对方服务器网段做了代理,我们能ping通,也能telnet 
3.使用浏览器访问能正常返回JSON格式数据 
4.用代码解析http请求一直报500错误,对方觉得是我们代码问题,但是我们用代码解析公网上的一些请求是正常的;而且我们将代码发给对方,让对方解析,也是正常的

2. 问题解决

由于我们本地看不出什么问题,我们用代码请求,让对方服务器进行抓包调试。 
1.对方服务器让我们将请求的Content-Type改为application/json,请求仍然有问题 
Error-Reason:CHARACTER:error="json"; error_description*=UTF-8''Expected one of: <<{,[>> but got: <<C>> 
2.对方查了下,发现服务器Content-Type填什么都报错,application/x-www-form-urlencoded、application/json都报错,只有不填才能正确,空串也不行;我们就说http请求头有个默认值就是x-www-form-urlencoded,对方服务器端改了这个Content-Type的请求头,我们代码就能正常访问到JSON数据了

3. HTTP请求代码


public static String sendGet(String url, String param) {  
       String result = "";
       BufferedReader in = null;
       try {
           String urlName = url + "?" + param;
           URL realUrl = new URL(urlName);
           // 打开和URL之间的连接
           URLConnection conn = realUrl.openConnection();
           // 设置通用的请求属性
           conn.setRequestProperty("accept", "*/*");
           conn.setRequestProperty("connection", "Keep-Alive");
           conn.setRequestProperty("user-agent",
                   "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
           // 建立实际的连接
           conn.connect();
           // 获取所有响应头字段
           Map<String, List<String>> map = conn.getHeaderFields();
           // 遍历所有的响应头字段
           for (String key : map.keySet()) {
               System.out.println(key + "--->" + map.get(key));
           }
           // 定义BufferedReader输入流来读取URL的响应
           in = new BufferedReader(
                   new InputStreamReader(conn.getInputStream(),"UTF-8"));
           String line;
           while ((line = in.readLine()) != null) {
               result += line;
           }
       } catch (Exception e) {
           System.out.println("发送GET请求出现异常!" + e);
           e.printStackTrace();
       }
       // 使用finally块来关闭输入流
       finally {
           try {
               if (in != null) {
                   in.close();
               }
           } catch (IOException ex) {
               ex.printStackTrace();
           }
       }
       return result;
   }
【压力测试 2】JMeter压力测试之Internal server error 500 问题解决思路(3) Jmeter里的http sample勾选了keep alive,导致会话一直保持,而windows本身的端口有限,导致端口被占用完后,无法分配新的端口,因此会产生java.net.BindException: Address already in use: connect 报错。500错误还有可能是对文件设置了不正确的权限:后台目录和文件的权限默认应该是755,而图片,文字等html文件应该是644,所以如果在刚刚上传文件后出现500错误,应该主要检查文件权限设置。Jetty逻辑问题。 阅读详情

相关推荐

jmeter执行接口报"status":500,"error":"Internal Server Error","exception":"java.lang.IllegalArgumentExcep"

jmeter执行接口,响应报如下: {“timestamp”:“2020-05-12 10:16:51”,“status”:500,“error”:“Internal Server Error”,“exception”:“java.lang.IllegalArgumentException”,“message”:“JWT must have 3 tokens”,“path”:"/detection/api/user/saveOrUpdate"} 原因:请求头未添加动态认证数据 解决方法: 去使用正则替换写死

测试入坑之路 1万+

jmeter使用时报500

HTTP请求中,使用 post请求时候,我在参数内直接配置时候会报500,大部分的原因是传递参数有问题。 解决办法是删除【参数】内数据,改为到消息体数据内传输json数据就能解决这个问题

仁化居之安 7578

LabVIEW新手必看:5分钟搞定S7-1200 OPC通信(附完整配置截图)

本文详细介绍了LabVIEW与西门子S7-1200 PLC通过OPC通信实现工业监控系统的完整配置流程。从环境准备、PLC数据块配置到OPC Server高级设置,逐步指导新手快速建立稳定通信链路,并分享工业级应用的优化技巧和异常处理方案,帮助用户提升自动化系统集成效率。

rl6adventurer的博客 640

internal server error是什么意思?

internal server error错误通常发生在用户访问网页的时候发生,该错误的意思是因特网服务错误。能够引起internal server error报错的原因有多个,如果你是网站主的话,可以对下列情形进行一一排查。   1.服务器资源超载。如果网站文件没有做过修改,最有可能的是同服务器的资源超载:即同一时间内处理器有太多的进程需要处理的时候,会出现500错误。借助SSH,可以在命令行中输入以下命令查看:ps faux ps faux |grep username 如果你查到某个进程消耗过多资源,

weixin_47273222的博客 6万+

Ubuntu 24.04 LTS安装WPS Office 2025冬季版全攻略(附字体缺失解决方案)

本文提供了在Ubuntu 24.04 LTS系统上安装WPS Office 2025冬季版的完整指南,详细对比了dpkg、Snap和GUI三种安装方式的优劣。针对安装后常见的中文字体缺失、思源黑体粗细异常等核心问题,给出了从原理分析到手动补充字体库、修改字体配置文件的深度解决方案,确保WPS Office在Linux环境下获得最佳使用体验。

weixin_29284201的博客 619

【AAAI2025】【小目标检测】FBRT-YOLO:更快速、更优的实时航拍图像检测方法

FBRT-YOLO是一种新型实时航拍图像检测方法,针对小目标检测的精度与效率平衡问题提出创新解决方案。该方法通过两个轻量级模块显著提升性能:特征互补映射模块(FCM)将浅层空间位置信息深度整合至网络深层,缓解信息失衡;多核感知单元(MKP)采用多尺度卷积增强多目标感知能力。实验表明,在VisDrone、UAVDT和AI-TOD数据集上,FBRT-YOLO在检测精度和速度方面均优于现有实时检测器,特别适用于资源受限的飞行设备。该模型通过精简网络结构,在保持高性能的同时降低了计算负担,为航拍实时检测提供了高效解

weixin_44184852的博客 2900

接口测试遇到500报错?别慌,你的头部可能有点问题!

本文主要带大家简单了解下信息头的作用。Jmeter提供了HTTP Header Manager信息头管理器,用于定义规范客户端和服务端之间HTTP接口请求的默认规范。 注意:HTTP 的请求方式有 8 种,但是我们在实际应用中常用的也就是 get 和 post,其他请求方式也都可以通过这两种方式间接的来实现。

公众号:【伤心的辣条】 2054

Multisim 14.0 实战:手把手教你仿真一个9MHz高频小信号放大器(附完整电路文件)

本文详细介绍了如何使用Multisim 14.0仿真一个9MHz高频小信号谐振放大器,从环境准备、电路设计到仿真参数设置与调试,手把手教你掌握射频电路仿真的核心技巧。适合电子工程师和学生快速上手高频电路设计,附完整电路文件供参考。

weixin_30335575的博客 112

Internal server error 500 问题解决思路

我们系统在一次升级之后,生产环境大量出现Internal server error 500错误,具体场景: 在APP上使用拍照功能后,APP通过Http协议上传压缩后的照片到服务端,但是上传过程中大量出现Internal server error 500错误,很多照片都传不上去。 经过一番排查之后,我们最终成功解决了这个问题,最后的原因有些出乎意料,这里卖个关子先不说出来。下面是我们解决问题的...

wanf425的专栏 24万+

部署资源管理系统chemx

资源管理系统的部署教程

weixin_40784215的博客 822

200Gb/s以上速率的通道信号完整性设计和优化经验(二)

为满足200Gb/s信号完整性需求,需综合优化PCB、连接器、封装及SERDES架构。关键措施包括:采用低粗糙度铜箔与低损耗材料降低传输线损耗(200G目标0.55–0.6dB/cm);通过背钻工艺控制残桩长度至4±2mil;缩减连接器焊盘残桩至600μm以内以消除谐振;封装层面推进跳层走线、低Dk/Df材料与可控SMT工艺;采用PAM4调制与基于ADC/DSP的混合信号架构实现高效均衡。先进CMOS工艺(如纳米片器件)支撑复杂数字处理,协同设计是突破速率瓶颈的核心。

小孟同学的博客 147

Jmeter接口测试

Jmeter接口测试

lucky 1248

RK3588 开启多窗口

这样就支持多窗口了。

tzj1058756809的博客 267

jmeter与接口测试(一)

最近一直都在做接口自动化测试,在面试的时候也有很多人在用jmeter做接口测试,虽然这也是一个方法,但是感觉过于被动,灵活度不高,所以在慕课网上看了一下基础的接口测试的视频,自己也把接口的一些基础知识点,整理了一下作为后续自己的参考笔记 1.不同角色对接口的理解: 开发眼中的接口:模块与模块之间的对接方式定义 测试眼中的接口:可以独立部署成服务的协议接口 2.常见接口协议 3.TCP...

毛依依的博客 393

在 SAP ECC 中定义 ledger 时遇到 “Define exactly one leading ledger“(消息号 FAGL_LEDGER_CUST012)的错误

摘要:SAP系统要求必须且只能定义一个主导分类账(Leading Ledger)。当出现错误消息FAGL_LEDGER_CUST012时,需通过事务码FINSC_LEDGER或SPRO路径检查分类账配置,确保仅有一个分类账被标记为"LeadingLedger",其余设为"Non-leadingLedger"。主导分类账是SAP默认用于标准报表的核心分类账,修改配置需谨慎以免影响已有数据。若问题未解决,建议检查未完成配置或查阅SAP Notes获取解决方案。

金牌架构师 802

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

springboot项目实战视频,JMeter压力测试

3、自动重定向与跟随重定向 Redirect Automatically(自动重定向):只针对Get和Head请求,勾选此项则“跟随重定向”失效;自动重定向可以自动转向到最终目标页面,但是Jmeter是不记录重定向的过程内容,比如在察看结果树中是无法找到重定向过程内容的(A重定向到B,此时只记录B的内容不去记录A的内容) Follow Redirects(跟随重定向):Http Request取样器的默认选项,当响应code是3xx时(301永久性转移,302暂时性转移),自动跳转到目标地址。与自动重定向不

m0_60388216的博客 1683

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

HTTP信息

http状态: 信息性 1XX | "100"  Continue | "101"  Switching Protocols 成功 2XX | "200"  OK    | "201"  Created | "202"  Accepted | "203"  Non-Authoritative Information | "204"  No Content | "205"  Reset Conten

GSE的成长之路 548

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Jmeter初学:接口测试自动化(1)

而返回 307 状态码时则是可预测的。状态码301和状态码302相似,不同的是状态码301往往代表的是永久性的重定向,值得注意的是,这种重定向跳转,从严格意义来讲不是服务器跳转,而是客户端跳转的。服务器通过返回状态码304可以告诉客户端请求资源成功,但是这个资源不是由服务器提供返回给客户端的,而是客户端本地浏览器缓存中就有的这个资源,因为可以从缓存中获取这个资源,从而节省传输的开销。状态码403代表请求的服务器资源权限不够,也就是说,没有权限去访问服务器的资源,或者请求的IP地址被封掉了。

qq_45861699的博客 351

JMeter接口测试之断言实现(4),这可能是目前最全的

在接口测试中,我们预设接口响应结果中会出现一个片段,我们称之为预期值,断言会在接口调用后尝试捕捉这个预期值,如果能捕捉到,则判定接口成功,否则判定接口为失败。可以通过【添加】按钮添加一个或多个,有多个的话,不勾选【模式匹配规则】中的【或者】,则为并集模式,即全部匹配成功才断言成功。结果被标红,接口判定为失败。关于断言的作用域:在线程组上创建断言,则该断言对线程组下所有取样器生效,而在取样器上创建,则只对该取样器生效。或者(Or):勾选此项后,可以设置多个预期值,只要有一项判定成功,则断言判定成功。

2401_83621541的博客 769

JMeter核心学习指南

本文介绍了接口测试与性能测试的基本概念,重点讲解了使用JMeter进行接口测试的方法。接口测试关注系统组件间的交互,性能测试则评估系统在各种负载下的表现。文章详细说明了JMeter的安装注意事项(推荐5.5版本),并通过示例演示了如何创建HTTP请求、使用线程组和查看结果树。此外,还介绍了模块化测试、数据驱动测试(DDT)和断言等高级功能,强调通过变量化和CSV文件实现测试效率提升。最后指出断言应验证所有可能的返回结果,而不仅是成功情况,为后续学习性能测试奠定基础。

Joy T的博客 785

(超详细)通过Jemeter进行压力测试

Jemeter进行压力测试步骤

weixin_42329623的博客 4650

【压力测试 2,Java教程全集百度云

1、明确错误含义 500 Internal Server Error 通用错误消息,服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。没有给出具体错误信息。 根据这个描述,基本可以排除客户端以及网络因素,需要重点关注服务端的状态。 我们系统服务端的架构如下图: 接下来就要根据这个架构由前往后一层一层排查。 2、检查HAProxy 重点排查HAProxy当前是否可用,负荷是否超标,包括下面的一些指标。 | 排查项 | 结果 | | — | — | | CPU是否正常 | 正常 | |

m0_60567854的博客 235

Jmeter Connection timed out: connect和500 Internal Server Error的错误,怎么解决?

Jmeter Connection timed out: connect和500 Internal Server Error的错误 java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.Du...

caicai_L的博客 5449

Jmeter-常见错误记录

用于在学习使用Jmeter过程中遇到的问题,以及解决方法 1.jmeter进行登录接口测试时。已经正确的设置了参数:用户名和密码,发送请求后,系统提示参数不存在。 如下图: 原因:这是由于在信息头管理器中,content-type 参数的值设置有误 修改后,可正常发送请求了 但是对于参数使用参数(form_data)发送时,系统还是会报错,提示:无效的JSON基元。。。 如下图: 原因:是因为使用参数栏设置参数时,不需要配置信息头,禁用后就可以正常发送请求并成功啦 2.Jmeter 使用json 提取

Mihoutaoxiaozi的博客 1万+
上一篇: java类中方法中的参数过多如何处理
下一篇: jmeter下载及安装配置
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值