我正在尝试在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发送,但我不知道如何。
注意:我比较了加密结果,这是正确的。
答案 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)