Java 安卓可以';你不能访问web服务器吗?

Java 安卓可以';你不能访问web服务器吗?,java,android,apache,Java,Android,Apache,因此,我在服务器上设置了一个小脚本,说明用户是否可以登录。当访问url http:server url/username/password/I时,会返回一个名为“correct”或“error”的字符串 我在Android应用程序中所做的是: HttpClient httpclient = new DefaultHttpClient(); String url = "http://server-url/"+usernameText+"/"+pass

因此,我在服务器上设置了一个小脚本,说明用户是否可以登录。当访问url http:server url/username/password/I时,会返回一个名为“correct”或“error”的字符串

我在Android应用程序中所做的是:

            HttpClient httpclient = new DefaultHttpClient();
            String url = "http://server-url/"+usernameText+"/"+passwordHash+"/";
            HttpPost httppost = new HttpPost(url);
            ResponseHandler<String> handler = new BasicResponseHandler();
            try {
                String response = httpclient.execute(httppost, handler);
                Log.e("logged in",response);
            } catch (ClientProtocolException e) {
                Log.e("clientprotocolexception",e.toString());

        } catch (IOException e) {
            Log.e("ioexception","error");
        }
但当我通过浏览器访问网站时,网站本身运行良好?这些是我必须在服务器上的某个地方正确设置的设置,还是我忘记了代码中的某些内容


谢谢

你想过允许上网吗

<uses-permission android:name="android.permission.INTERNET"/>


使用此项指导您传递用户名、密码和凭据,而不是使用url。

我使用的是Post而不是Get,JCs在对我原始问题的评论中回答了这一问题

您需要检查您的
userNameText
passwordHash
-服务器说它们不正确,您被禁止访问该页面。我怀疑您没有正确地对它们进行URL编码。您正在发送POST请求,可能需要GET请求。服务器似乎正在使用代码进行响应。问题可能出现在服务器端,而不是应用程序中。或者您的应用程序没有向服务器提供足够的数据(凭据、http头等)。@Jcs,是的,修复了它!事后看来,这似乎是显而易见的,谢谢!是的,我已经给了它上网的许可。有什么比使用URL更好呢?我不能马上看到任何好处?(这可能是我在阅读代码时遗漏了什么?@Simon只是提供了一个替代方案,以防在处理url时出现问题。
<uses-permission android:name="android.permission.INTERNET"/>