【经验】使用http访问一个链接提示400的错误,但是在浏览器访问没问题(server returned HTTP Response code :400 fro URL:),怎么解决
2023-06-13 09:15:55 时间
最近凯哥在调凯哥优惠淘公众号(领取优惠券的公众号)的时候,发现以前好好的程序,突然不能用了。于是就本地断点,发现了如下错误:
程序通过httpClient访问一个地址的时候,提示:server returned HTTP Response code :400 fro URL:XXXX这个错误。不对啊,以前的没问题现在怎么就突然有问题了?而且将程序访问的url地址放到浏览器中就可以正常访问的。为什么在程序中就访问不了呢?
于是就把访问的URL 复制下来,一个一个对比,发现,原来,程序访问出错的url中有中文。怀疑是不是因为中文没有进行URL编码导致【ps:最后得到的结论确实是中文没有URL编码】?
Jave中对URL进行url编码,大家都知道,就是URLEncoder.encode()这个方法。简单啊!该就是呗。于是凯哥就把整个URL进行encode.结果大家可想而知,把http://xxx 中的://也进行了encode.通过httpclient当然访问不了的。
程序
访问前的URL:xxx?name=凯哥==>结果访问失败
修改后的URL:xxx?name=URLEncoder.encode("凯哥","utf8")==>访问成功
于是凯哥就修改编码方式,只对中文部分的参数进行encode.修改之后,程序就正常访问成功了。
总结:
如果程序访问一个url出现server returned HTTP Response code :400 fro URL这个错误,但是在浏览器中访问同样的url没问题的话,就要考虑是不是因为访问的url中有特殊字符。如空格、逗号、中文等。把这些特殊字符进行url编码后在使用程序进行访问或许就能成功了。需要注意,在进行url编码的时候,指定编码的字符集
相关文章
- Spring Cloud Bus集成Spring Cloud Config Server实现全局配置的自动刷新(二)
- Windows Server 2016 云服务器远程桌面时出现了内部错误问题该如何解决
- SQLServer 错误 825 在失败 %d 次(错误: %ls)之后,按偏移量 %#016I64x 对文件“%ls”读取成功。 SQL Server 错误日志和系统事件日志中的其他消息中可能有更详细的信息。 此错误情况威胁到数据库的完整性,因此必须予以更正。 请运行一次完整的数据库一致性检查 (DBCC CHECKDB)。 此错误可能是由多种因素导致的;有关详细信息,请参阅 SQL Server 联机丛书。 故障 处理 修复 支持远程
- SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000)
- 解决SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法
- 解决服务器连接错误Host ‘XXX’ is not allowed to connect to this MySQL server详解数据库
- sql server比较Oracle 与 SQL Server的优缺点(oracleltgt)
- Windows Server要更名Microsoft Server操作系统?微软辟谣
- 错误解决SQL Server登录错误的有效方法(sqlserver登陆)
- 使用触发器SQL Server中运用触发器实现简单动态操作(在sqlserver中)
- SQL Server出现错误0:解决方案(sqlserver错误0)
- SQL Server发生错误:解决办法分享(sqlserver错误)
- 动力:SQL Server 为企业发展提供动力(sqlserver 释放)
- SQL Server考试指南:助你一臂之力!(sqlserver 试卷)
- 利用SQL Server一键清空某张表(sqlserver表清空)
- SQL Server中行数据的平均计算(sqlserver行平均)
- 技术SQL Server中拼接技术的精彩之处(sqlserver的拼接)
- 清除SQL Server锁,释放困局(sqlserver清除锁)
- SQL Server中库存表的数据库存储管理(sqlserver库存表)
- SQL Server让您的生活变得更简单:小工具大招(sqlserver小工具)
- SQL Server:正确与错误的分辨(sqlserver对错)
- SQL Server压缩包实现大数据快速传输(sqlserver压缩包)
- 『SQL Server 保留字中的必要知识』(sqlserver保留字)
- 解决 Microsoft SQL server 错误40问题(mssql 错误40)
- SQL Server导出SQL文件:实现快速数据备份(sqlserver导出sql文件)