Android HTTP请求wierd 404未找到问题
在我的应用程序中,我尝试点击一个URL,我使用以下代码Android HTTP请求wierd 404未找到问题,android,http,http-status-code-404,Android,Http,Http Status Code 404,在我的应用程序中,我尝试点击一个URL,我使用以下代码 try { url = new URL(serverURL); httpURLConnection = (HttpURLConnection) url.openConnection(); int timeout = 30000; httpURLConnection.setConnectTimeout(timeout); httpURLConnection.setReadTimeout(time
try {
url = new URL(serverURL);
httpURLConnection = (HttpURLConnection) url.openConnection();
int timeout = 30000;
httpURLConnection.setConnectTimeout(timeout);
httpURLConnection.setReadTimeout(timeout);
httpURLConnection.connect();
String httpResponseMessage = httpURLConnection.getResponseMessage();
responseCode = httpURLConnection.getResponseCode();
Log.i(LOG_TAG,"Response code "+responseCode);
} catch (Exception e) {
e.printStackTrace();
}
当通过浏览器(在计算机上和电话上)打开(机密)URL时,该URL工作正常,响应如预期。但是当我通过上面的代码点击相同的URL时,它会给我响应代码404(未找到)。有人能告诉我这是什么问题吗?
(很抱歉,无法发布URL,因为它是高度机密的。)您确定已在
AndroidManifext.xml
中声明了吗?问题已解决:)
实际上,在代码中甚至不需要以下两行代码
HttpGet request = new HttpGet();
request.setURI(new URI(serverURL));
一个HttpGet就足够了,您不需要它两次。不确定这是否重要,但我有确切的问题 我当时正在做一些明确的端口80的工作,删除这一行使其工作:
HttpHost host = new HttpHost(targetHost, 80, "http");
对我还可以做其他与互联网相关的活动。如果清单中未授予该权限,则响应代码甚至不会是响应代码。您是否尝试了使用相同代码的其他URL?是的,对于其他URL,响应代码为预期的200。因此,您可以在手机浏览器中打开该URL吗?(如果是防火墙配置问题)什么?哪个网址?工作正常的那个?还是另一个?我想根据响应代码做一些操作,当我通过浏览器和应用程序点击相同的URL时,行为是不同的。我得到的响应代码分别是200和404。我指的是不工作的URL。您是使用手机浏览器还是计算机浏览器进行测试?您是否首先找出了导致错误的原因
HttpHost host = new HttpHost(targetHost, 80, "http");