http发送get请求400问题解决小记:

仿佛代码有了保质期,项目在生产环境稳定运转,由于关联系统的升级意外暴露出http发送get请求的400错误。正产运行的请求为什么会突然变成400呢?难道真的是代码有保质期吗?

带着这样的疑惑,进行了一番的探索。首先,系统升级必然是要做兼容性考虑的,就可以排除是升级造成的问题;接着要追踪日志,根据错误信息定位问题。

首先,HTTP 400 Bad Request 原因如下:

1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求

2、请求参数有误

脑海中的第一反应连自己都怀疑人生了。。。这明明是之前正常运行的程序啊!!!

What is a 400 Bad Request Error?

更加离谱的是,用postman进行请求,或者是swagger,亦或是curl命令均可以得到正确的返回,真是奇葩啊!秉着遇到困难越挫越勇的精神,不破此局不罢休。突然想到了资源占用?http发送get请求的底层机制究竟是怎么回事呢?带着疑惑回归代码本身。

场景:java服务A发送一个http的get请求到B服务,在很长一段时间内能得到正常相应的,而在生产环境得到400错误后,用postman去测试还是能得到正常的响应。

HttpUtil.get(url);

分析:如此看来就是postman等接口测试并没有复现生产上的问题,基于对400错误的理解,就是服务调用方出现了问题,那是什么原因导致的400呢 ?

原来http在发送get请求的时候,会对cookie进行叠加,长时间的运转呢,导致cookie越来越长,最终出现header超长的400错误。

解决办法:确认服务双端对cookie没有业务需求的处理,服务调用方禁用cookie 即可。

HttpRequest.get(url).disableCookie().timeout(3000).execute().body();

基于本人读源码的能力有限,此处不展示源码图片,希望看到的小伙伴多多指教。。。如有不同的见解,望留言,多谢!

java发送get请求400解决相关推荐

  1. java发送post请求上传文件和json数据

    java发送post请求上传文件和json数据 因为第三方的上传服务post参数使用了两个@requestpart参数. 但是feign不可以使用两个@requestpart参数.会报错:java.l ...

  2. java发送get请求,并带上参数,HTTP和HTTPS都可以

    //java发送get请求,并带上参数public static String send_Get(String encode_data){CloseableHttpClient httpClient ...

  3. C# 发送HTTP请求超时解决办法

    C# 发送HTTP请求超时解决办法**** request.GetResponse();超时问题的解决,和HttpWebRequest多线程性能问题,请求超时的错误, 解决办法 1.将http的req ...

  4. java http 中文乱码_关于java发送http请求时中文乱码的一种解决办法

    在jsp中常见的乱码解决办法无外乎是关于get和post两种方式的,但只有切实地在实践中使用时才会注意或者说注重到其他方式.例如,在http请求头中传送中文参数,出现乱码,如何解决? 实际场景:使用S ...

  5. Java发送form-data请求实现文件上传

    如何使用Java发送form-data格式的请求上传multipart文件? 封装了以下工具类: package com.leeyaonan.clinkz.common.util;import jav ...

  6. JAVA发送HttpClient请求及接收请求结果过程

    1.写一个HttpRequestUtils工具类,包括post请求和get请求 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...

  7. jQuery使用ajax异步请求400解决方法

    jQuery使用ajax异步请求访问状态码400解决方法: 先直接上结论:首先检查下自己使用的请求方式,我原来用的是post方式,更改为ajax之后就解决了,才反应过来应该是版本不兼容的问题! < ...

  8. Java发送Http请求,解析html返回

    今天是2008年7月7日星期一,下午一直在学校做个人开始页面.因为离不开google的翻译,所以想把google的翻译整合到我的开始页面中来,于是乎就遇到了一个问题,怎样使用java程序发送http请 ...

  9. Java 发送 Http请求工具类

    HttpClient.java package util;import java.io.BufferedReader; import java.io.IOException; import java. ...

最新文章

  1. ListBox滚动条置底
  2. 剑指offer:二位数组中的查找
  3. 半导体量子芯片开发获重要进展
  4. java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException 的解决办法
  5. Python自动化二--jmeter分布式测试,抓包,python语法基本介绍
  6. (转)淘淘商城系列——商品搜索功能表现层实现
  7. 在AIX系统下查询硬件信息的方法
  8. mysql 清除主从_mysql主从同步及清除信息
  9. server2008实验之七 利用FSRM实现文件服务器精确管理.
  10. Windows 11 修改Edge按 Alt+Tab 键为单个窗口
  11. word文档左侧没有显示文档的目录
  12. Dubbo概述及架构图
  13. 没有捷径!没有捷径!没有捷径!
  14. python24点游戏
  15. [C++]深复制与浅复制
  16. 怎么样把计算机桌面的图标改小,怎样将电脑桌面图标变小_三招搞定桌面图标太小问题-系统城...
  17. mysql握手_详细介绍mysql 协议的服务端握手包及对其解析
  18. CSS课堂案例11-淘宝焦点图布局
  19. 每日新闻:华为专利授权量居榜首!110小程序、飞行汽车都要来了?
  20. 用Python爬取wallhaven高清原图

热门文章

  1. 计算机设置共享时出现无法保存,win7共享打印机时提示无法保存打印机设置怎么办...
  2. Windows11设置共享打印机
  3. 抖音21.8版本抓包方法(Android)
  4. 报错笔记-[error] 1615#0: *14 open() “/usr/local/nginx/html/course/zk.jpg“ failed (2: No such file or dir
  5. 企业项目文档库管理系统推荐
  6. 412.FizzBuzz
  7. 【Debug】UserWarning: size_average and reduce args will be deprecated, please use reduction=‘sum‘
  8. VR头戴显示器对健康有害吗?会引发晕动症、视觉辐辏调节冲突
  9. android 退出登录
  10. ResponseBodyAdvice的使用