android,如何将用户名和密码作为标题字段发送到Web服务?

时间:2012-03-08 19:53:46

标签: android http-headers httpclient httpurlconnection

我正在尝试在Android手机上创建一个从用户那里获取用户名和密码的应用程序,使用md5加密密码,然后用这些参数连接到url。

连接的代码在iphone上工作正常,但我在android中找不到类似的东西:

NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:myURL];

[request setHTTPMethod:@"GET"];

[request addValue:usernameField.text forHTTPHeaderField:@"UserName"];

[request addValue:MD5Pass2 forHTTPHeaderField:@"Password"];

我试图通过httpurlconnection连接使用post / get Dataoutputstream,httpclient发送参数httpget / httppost,但没有成功。

我想我需要将参数作为headerfield发送,但我不知道如何。

注意:我比较了加密结果,这是正确的。

2 个答案:

答案 0 :(得分:5)

我发现Apache库在HTTP方面要简单得多。

这方面的一个例子如下:

DefaultHttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI("http://www.internet.com/api"));

通常使用GET请求,您将使用GET参数,即将它们附加到URL的末尾,如下所示:

String url = "http://www.internet.com/api?UserName=YourUsername&Password=yourpassword" 
request.setURI(new URI(url));

但是,既然你指定了你想要它们作为标题你可以:

request.addHeader("UserName", username);
request.addHeader("Password", password);

然后:

HttpResponse response = client.execute(request);
//Parse the response from the input stream object inside the HttpResponse

答案 1 :(得分:1)