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

use*_*488 0 android httpclient httpurlconnection http-headers

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

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

NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:myURL];

[request setHTTPMethod:@"GET"];

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

[request addValue:MD5Pass2 forHTTPHeaderField:@"Password"];
Run Code Online (Sandbox Code Playgroud)

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

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

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

Mat*_*nce 5

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

这方面的一个例子如下:

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

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

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

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

request.addHeader("UserName", username);
request.addHeader("Password", password);
Run Code Online (Sandbox Code Playgroud)

然后:

HttpResponse response = client.execute(request);
//Parse the response from the input stream object inside the HttpResponse
Run Code Online (Sandbox Code Playgroud)