拥抱变化-----http post请求出现400异常

拥抱变化

做项目最常见的无奈问题是无耻的变化。

拥抱变化,说的大气,我也想有那种气魄,代码于我目前的能力也够有那种拥抱的胸怀,也有些复用性与拥抱性,适合需求的无端的变化而带来的扩展,以前说人算不如天算,现在发现这句话说的不对,不是人算不如天算,而是自己算不如别人算,天算也比不是别人算,娘的,一个破项目,辛辛苦苦的做了百分八九十,在期限来临前一周就要over,结果,不知他们怎么算的,老大说把这个外包项目当作产品来做,他们又把各种需求无穷的拉出来溜溜,说无穷其实也没算冤枉人,一个半月内出了两套设计,完成前夕又把以前的设计推翻,再按他们的需求来套设计,而且这套设计也不是最终的,这搞得我好没面子:不知情的人会想我这么久一个项目也没完成……

妹的,吹牛逼也没资本了……

团队里的一个我非常欣赏的做后台的技术哥们要走了,又招了一个来做交接,这一交接不要紧,各种问题出来了,比如一个破接口,以前我用的都顺顺当当的,结果,现在报400异常,我勒个fuck,仔细一看,好家伙,post请求的各种参数都变了一些,比如以前的description变成content,以前的pictures变成了picture,这么细微的变化让人的蛋都碎了,就像你生个小子比较容易,但要将这个小子变成女的就相对困难点,所以改东西总是比创造东西困难点,有各种的粗心寡意,400异常老是报,调试了半天就不晓得具体原因,心惶惶若丧家之猫,可怜无比……

上网找了一批,恶心的粘贴复制人云亦云,无奈,撸一管后再战,终于找到了破问题,

在设置头信息时:

	/**
	 * 设置头信息
	 * @param conn
	 * @throws ProtocolException
	 */
	private static void setHeaders(HttpURLConnection conn) throws ProtocolException {
		conn.setReadTimeout(0);//时间无限制,防止socketTimeOutException
		conn.setDoInput(true);// 允许输入
		conn.setDoOutput(true);// 允许输出
		conn.setUseCaches(false);
		conn.setRequestMethod("POST"); // Post方式
		conn.setRequestProperty("connection", "keep-alive");
		conn.setRequestProperty("Charsert", "UTF-8");
		conn.setRequestProperty("Content-Type", MULTIPART_FROM_DATA + ";boundary=" + BOUNDARY);
//		conn.setRequestProperty("Host", GlobalParams.IP);//设置主机名
		conn.setRequestProperty("cookie", "sessionid=" + GlobalParams.session_id);
		conn.setRequestProperty("X-Requested-With", "XMLHttpRequest");
//		conn.setRequestProperty("version", "1.0");
//		conn.setRequestProperty("os", "ANDROID");

	}

以前为了保险起见,设置了主机名,而现在不知咋的,不要设置主机名,狗日的,这算什么?这是技术吗?这是经验吗?

想了半天,终于得出一个令某恶心的事实:某不懂,所以是某的问题。

想来也是,做IT哪能对web这个强大如阳光般的技术不睬呢、

WEB,终于无法避免的遇到了……

拥抱变化-----http post请求出现400异常

时间: 2024-10-04 22:52:45

拥抱变化-----http post请求出现400异常的相关文章

程序员要拥抱变化,聊聊Android即将支持的Java 8

原文链接:http://wetest.qq.com/lab/view/308.html 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest 导读 Java 9预计今年也会正式发布,Java 8这个最具变革性且变革性最适于GUI程序的版本,Android终于准备正式支持.从自己开发JavaFx的感受,说一说Java 8应该使用的新特性.程序员,你应该拥抱变化. (注:本文不讲具体语法,具体语法请下载下方分享的<Java 8实战>.) James Lau(google的产

软件架构师之拥抱变化

你是否正在被不断变化的需求折磨得焦头烂额?! 你是否在为繁冗复杂项目抓耳挠腮?! 相信这是很多人现在正面临的问题.我们在学习软件架构时经常能看到拥抱变化的字眼,我们也知道什么是拥抱变化,也知道拥抱变化是解决上述问题的最优途径.然而,如何拥抱变化才是解决问题的关键所在.每每此时,各种书本都会把路标指向设计模式,各种架构模式等,大家每个人看了以后大都恍然大悟,而付诸于实践时则仍旧一脸茫然.那么如何做到拥抱变化呢? 首先,要从软件架构的根本说起.我们为什么要进行软件架构设计?!答案很简单,因为有变化,

ajax请求json数据异常:nested exception is net.sf.json.JSONException: java.lang.reflect.InvocationTargetException] with root cause

ajax请求json数据异常:nested exception is net.sf.json.JSONException: java.lang.reflect.InvocationTargetException] with root cause 1.异常原因:所请求的json数据中包含java.util.date数据类型,但是在后台并没有将其格式转换 2.解决方法:添加工具类DateJsonValueProcessor import java.text.SimpleDateFormat; imp

ajax请求出现400错误

ajax请求出现400错误,如题.百度了只有两种情况,一个参数错误,二是所谓的参数过长. 因为我传递的base64的图片参数,很长.刚开始以为是这个原因.后来发现不是,原因是参数错误.freemaker模板的long类型参数没有进行转换,以至于前端取值时,中间有逗号. 所以,遇到此问题时首要是看你 的参数. 原文地址:https://www.cnblogs.com/zeussbook/p/9828765.html

敏捷管理有一个原则就是:拥抱变化

敏捷管理有一个原则就是:拥抱变化. 这是它和传统性项目管理的一个最大的区别,传统的项目管理为了防止需求变更才开始从需求调研和分析开始并把它文档话,在这块做了大量的工作,但问题是需求变更时避免不了的,只能通过这些方式做到相对降低.所以需求和需求变更更管理是瀑布式或者流程式的项目管理最头疼的地方,大家都用很多招来应对. 需求变更在敏捷管理里都是新的需求,产品关注的重点是这个变更对用户是不是有价值的,有价值的就会最优先的去做. 所以不同的项目管理方式,大家关注或者沟通的出发点不一样.当然前提是什么样的

SpringBoot使用AOP记录请求日志和异常日志

本文基础WEB环境使用SpringBoot及Spring-Data-Jpa构建 关于SpringBoot及JPA用法本文不再过多讨论,下面是引入的jar: 起步依赖 web及aop依赖 jpa依赖 mysql驱动 本文着重AOP的使用,你也可以使用自己构建的环境 由于本文中使用的JPA,因此首先创建保存日志及保存异常的实体类,如果你使用的是Mybatis,则需要首先创建表然后根据表来逆向生成实体类 保存日志的实体类: 日志实体 保存异常的实体类: 异常实体 接下来我们定义一个Operation注

使用Spring MVC 的 @RequestBody 映射json请求参数时报异常问题

使用Spring MVC 的 @RequestBody 映射json请求参数时报"The request sent by the client was syntactically incorrect."异常解决方案 最近工作中开发RESTful接口需要处理客户端上传的json,图方便想起Spring的Controller中有@RequestBody可以优雅地完成json报文与Java类的映射,但是使用时碰到了 "The request sent by the client w

频繁请求报requests异常的处理

由于数据量的增大,调用接口的次数会增加. 当连续向目标网站发送多次request后,目标网站可能会认为是,恶意攻击. 于是会抛出requests异常. 测试代码: for i in range(200): # 连续请求200次 requests.post(p['url'], headers=p['headers'], json=p['body'], verify=False) 在python3.6中,异常为 requests.exceptions.SSLError: HTTPSConnectio

Jmeter如何实现参数名词和个数动态变化的接口请求

需求分析在做接口自动化和性能测试,经常会遇到一些请求参数是根据上一个请求结果,动态变化的参数个数,参数名可能相同,也可能为序列递增格式,参数个数可能为10.20个,这样就导致手工不好模拟该请求效果,需要进行封装自定义函数才能实现该效果 Jmeter是一款开源的性能测试工具,目前是行业内使用率最高的性能测试工具之一,Jmeter是使用JAVA语言开发的,本文介绍如何使用JAVA语言开发自己需要的扩展函数 目前业界流行的两种开发模式,本文介绍第二种1.使用Jmeter二次开源环境,直接在org.ap