Android中的身份验证问题

时间:2010-02-13 10:41:23

标签: android authentication httpclient

我必须以xml格式向服务器发送请求。我使用DefaultHttpClient和HttpPost(我必须发布请求)使用StringEntity发送xml请求,但我得到了“401 Authorization required”errror.I搜索和我发现需要身份验证(我有用户名和密码),但怎么办对我来说是一个问题。目前,我正在使用“UsernamePasswordCredentials”和“BasicCredentialsProvider”,但它会抛出“ClientProtocolException”。我无法想象出了什么问题?此外,我已经读过认证是不同类型的 - 基本和摘要。我怎么知道我的服务器支持什么?以及如何在Android中实现它们。我对这些东西很新,请帮助。!

谢谢

1 个答案:

答案 0 :(得分:0)

这是我的POST方式......不需要身份验证

        DefaultHttpClient hc=new DefaultHttpClient();  
        ResponseHandler <String> res=new BasicResponseHandler();  
        HttpPost postMethod=new HttpPost("http://mydomain.com/myfile.php";  
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 


        //These are the values you are posting

        nameValuePairs.add(new BasicNameValuePair("name", username.getText().toString() ));    
        nameValuePairs.add(new BasicNameValuePair("username", username.getText().toString() )); 
        nameValuePairs.add(new BasicNameValuePair("email", email.getText().toString() )); 
        nameValuePairs.add(new BasicNameValuePair("password", password.getText().toString() )); 

        postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));    
        String response=hc.execute(postMethod,res);