`

程序访问一个地址时候报400错误,浏览器访问正常怎么解决

 
阅读更多

 

最近凯哥在调凯哥优惠淘公众号(领取优惠券的公众号)的时候,发现以前好好的程序,突然不能用了。于是就本地断点,发现了如下错误:

程序通过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编码的时候,指定编码的字符集

分享到:
评论

相关推荐

    小程序访问https显示网络错误,微信打开https空白、浏览器访问正常解决方案.docx

    小程序访问HTTPS时,可能会出现网络错误、微信打开HTTPS空白、浏览器访问正常的情况。这种情况下,需要对HTTPS证书进行配置和验证,以确保小程序的正常访问。 一、问题描述 小程序访问HTTPS时,可能会出现网络错误...

    java 制作的一个简单的浏览器

    这需要一个数据结构(如列表或数据库)来存储访问过的URL,以及相应的UI元素来展示和访问这些记录。 10. **安全考虑**: 虽然这是一个简单的浏览器,但仍需注意安全问题。避免执行JavaScript或其他可能的恶意代码...

    python爬虫模拟浏览器访问-User-Agent过程解析

    许多网站会根据请求头中的User-Agent来区分是正常的浏览器访问还是爬虫程序的访问,从而可能对爬虫返回不同的内容或直接拒绝服务。 Python爬虫模拟浏览器访问-User-Agent的过程通常包括以下几个步骤: 1. 导入必要...

    iexplore.exe应用程序错误解决方法.docx

    iexplore.exe 是 Internet Explorer 的一个核心组件,负责处理浏览器的主要功能。然而,当 iexplore.exe 遇到问题时,可能会出现应用程序错误的提示,导致浏览器无法正常工作。这篇文章将详细介绍 iexplore.exe 应用...

    一个delphi编写的浏览器程序

    这个“一个delphi编写的浏览器程序”是一个使用Delphi技术构建的实用浏览器软件,它的主要目标是为初学者提供学习编程和理解浏览器工作原理的机会。 在Delphi中编写浏览器程序涉及多个核心知识点: 1. **VCL框架**...

    VC程序web 浏览器源代码

    【VC程序Web浏览器源代码】是一个使用Microsoft Foundation Classes (MFC)库中的CHtmlView类构建的项目。MFC是Microsoft提供的一套C++类库,它为Windows应用程序开发提供了便利,尤其是对于那些基于Windows API的GUI...

    一个简易的浏览器app

    Webview是一个能够加载和显示网页的原生控件,它允许开发者在应用程序中嵌入网页内容,提供类似于浏览器的浏览体验。下面将详细解释如何使用Webview构建一个简单的浏览器应用,以及相关的自定义功能。 1. **Webview...

    调用浏览器程序(VB6.0源代码)调用浏览器

    在VB6.0环境下,开发人员经常需要实现一个功能,即通过编程方式调用系统默认的浏览器来打开指定的网页。这个过程涉及到Windows API(应用程序接口)的使用,特别是使用`ShellExecute`函数来启动外部应用程序。下面...

    PYTHON环境配置文档及Jupyter Notebook无法正常打开浏览器的解决方法及环境配置程序

    6. **环境配置程序**:`Jupyter Notebook无法正常打开浏览器的解决方法及环境配置程序.py`可能是一个Python脚本,用于自动化上述配置步骤。运行这个脚本可以快速解决配置问题,但需要注意检查脚本的安全性,确保其...

    qt编写的浏览器程序源代码

    QT_MyMap-master 是一个基于Qt框架开发的浏览器程序源代码项目,主要亮点在于它集成了WebKit引擎,用于实现Web页面的渲染和交互。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、移动以及嵌入式设备。WebKit是...

    易语言多标签CEF浏览器库web浏览器 支持html5网页访问

    - **小红书ll.exe**:可能是一个示例程序,用于演示如何使用易语言CEF浏览器库来构建一个简单的Web浏览器应用。 - **LibPath.ini**:配置文件,可能包含CEF库的路径和其他相关设置,确保程序正确加载库文件。 - **...

    swfupload上传文档报400解决办法

    ### SWFUpload上传文档报400错误的解决办法 #### 背景与问题描述 在使用SWFUpload进行文件上传的过程中,可能会遇到HTTP状态码为400的错误。这种错误通常意味着服务器无法理解请求的数据格式,最常见的原因是...

    HTTP服务器,支持浏览器访问,迅雷下载

    1. **监听与连接管理**:服务器需要在一个指定端口上监听,当收到新的连接请求时,能够有效地管理这些连接,处理并发请求。 2. **请求解析**:服务器接收到请求后,需要解析HTTP请求报文,包括请求行(方法、URL、...

    Java调用浏览器打开URL地址

    在Java编程中,有时我们需要实现一个功能,即通过程序控制打开本地已安装的浏览器并访问特定的URL地址。这在很多场景下都很有用,比如自动化测试、应用内部的链接跳转或者用户指南等。本篇将详细介绍如何使用Java来...

    所有浏览器的主页都被篡改成了6789,是什么原因,怎么解决.zip打开浏览器地址栏先变成192.168.1.287.然后就就跳转6789主页

    - **IP地址192.168.1.287:80**:这是一个常见的本地网络IP地址,可能是路由器的IP,通常用于设备间的内部通信。如果浏览器地址栏首先显示这个IP,然后跳转到6789,可能表明存在中间代理或者劫持行为。 - **端口号...

    浏览器调用本地EXE,试用于谷歌浏览器

    标题中的“浏览器调用本地EXE,试用于谷歌浏览器”是指一种技术,允许谷歌浏览器(Google Chrome)通过特定的方式启动本地的可执行文件(.exe程序)。这种技术通常用于扩展浏览器的功能,或者实现某些定制化的交互...

    c#模拟浏览器请求

    在C#编程中,模拟浏览器请求是一项常见的任务,主要用于测试API接口、自动化脚本或爬虫等...结合适当的延迟和循环机制,我们可以创建一个控制台程序,按照预设的URL列表持续发送请求,从而实现类似浏览器的交互行为。

    cesium在Tomcat部署后,跨域访问问题解决.zip

    在IT行业中,尤其是在Web开发领域,跨域访问问题是一个常见的挑战。Cesium是一个强大的JavaScript库,主要用于创建交互式的3D地球、地图和其他地理空间应用程序。当Cesium在Apache Tomcat服务器上部署时,由于浏览器...

    彻底解决SysFader:IEXPLORE.EXE应用程序错误

    标题中的“彻底解决SysFader:IEXPLORE.EXE应用程序错误”是指在使用IE8浏览器时,用户遇到了一个特定的问题,即在访问某些网页时,系统弹出“SysFader:IEXPLORE.EXE - 应用程序错误”的警告,提示内容涉及到内存读取...

    解决360浏览器打新的窗口总是黑屏问题

    本文将深入探讨如何解决360浏览器打开新窗口总出现黑屏的问题,分享有效的解决策略,帮助用户摆脱这一困扰,提升浏览体验。 ### 一、理解360浏览器黑屏现象 360浏览器是一款基于Chromium内核的浏览器,拥有快速、...

Global site tag (gtag.js) - Google Analytics