我必须将UserName
和password
作为参数传递给GET
方法进行验证。在处理之后我需要获得响应。所以如何将值传递给RESTful
webservice GET
方法?
答案 0 :(得分:2)
参数通常作为URL参数在GET请求中传递。在不知道你尝试过什么或者你在哪里挣扎的情况下,我真的无法提供更多的答案。
- UPDATE -
试试这个:http://www.mkyong.com/webservices/jax-rs/jax-rs-queryparam-example/
答案 1 :(得分:0)
要在HTTP GET中传递参数,您应该使用?
分隔符。如
https://mywebsite.com/user/login?username=bob&password=123
https://mywebsite.com/user/login?paramname1=value1¶mname2=value2
确保始终将https
与任何敏感数据一起使用。您可能还需要转义/编码用户名和密码以允许扩展ASCII。如果您需要支持UNICODE,您应该考虑使用POST请求。
答案 2 :(得分:0)
您可以执行以下登录验证,
// Create a new HttpClient and Post Header
String downloadedString= null;
HttpClient httpclient = new DefaultHttpClient();
//for registerhttps://te
HttpPost httppost = new HttpPost("YOUR LOGIN URL");
//add data
try{
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("username", UserName_Edit.getText().toString()));
nameValuePairs.add(new BasicNameValuePair("password", userPassword_Edit.getText().toString()));
//add data
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
InputStream in = response.getEntity().getContent();
StringBuilder stringbuilder = new StringBuilder();
BufferedReader bfrd = new BufferedReader(new InputStreamReader(in),1024);
String line;
while((line = bfrd.readLine()) != null)
stringbuilder.append(line);
downloadedString = stringbuilder.toString();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("downloadedString:in login:::"+downloadedString);
使用AsyncTask
进行身份验证,并在doInBackground()
。
修改强>
您也可以按照以下教程
http://sarangasl.blogspot.in/2011/06/android-login-screen-using-httpclient.html
http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/
希望它有所帮助。
答案 3 :(得分:0)
我认为,如果你想用用户名和密码做一些事情,你应该使用POST方法。因为当你使用GET方法时,密码将在URI上可见,
https://samplesite.com/page/login?username=John&password=123
https://sampleste.com/page/login?name1=value1&name2=value2
相反,您可以使用POST方法发送用户名和密码值,在这种情况下,URI将在下面
https://samplesite.com/page/login
值将以
的形式发送POST /page/login.asp HTTP/1.1
Host: samplesite.com
name1=value1&name2=value2
对于与服务器进行安全交易的POST方法,你获得了以下优势。
答案 4 :(得分:0)
您好,您可以在RESTful中将参数传递给GET方法,如:
http://yoururl/<arg1>/<arg2>
例如
http://yoururl/abc/123