Android 在http请求中将用户名和密码作为参数发送
Android 在http请求中将用户名和密码作为参数发送,android,Android,我在网上得到了一个示例代码,它使用Restful api进行简单的登录和注册。 我已经获得了外部jar文件并对其进行了编译,但其中一个方法没有得到解决。 “invokeWS”方法给出错误,尽管RequestParams工作正常,请建议。 这是我用来获取jar文件的链接-- 我把代码放在这里 软件包com.example.dell.restful\u演示 import android.app.DownloadManager; import android.app.ProgressDialog;
我在网上得到了一个示例代码,它使用Restful api进行简单的登录和注册。 我已经获得了外部jar文件并对其进行了编译,但其中一个方法没有得到解决。
“invokeWS”方法给出错误,尽管RequestParams工作正常,请建议。 这是我用来获取jar文件的链接--
我把代码放在这里
软件包com.example.dell.restful\u演示
import android.app.DownloadManager;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.loopj.android.http.RequestParams;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
public class LoginActivity extends AppCompatActivity {
// Progress Dialog Object
ProgressDialog prgDialog;
// Error Msg TextView Object
TextView errorMsg;
// Email Edit View Object
EditText emailET;
// Passwprd Edit View Object
EditText pwdET;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
// Find Error Msg Text View control by ID
errorMsg = (TextView) findViewById(R.id.login_error);
// Find Email Edit View control by ID
emailET = (EditText) findViewById(R.id.loginEmail);
// Find Password Edit View control by ID
pwdET = (EditText) findViewById(R.id.loginPassword);
// Instantiate Progress Dialog object
prgDialog = new ProgressDialog(this);
// Set Progress Dialog Text
prgDialog.setMessage("Please wait...");
// Set Cancelable as False
prgDialog.setCancelable(false);
}
public void loginUser(View view) {
// Get Email Edit View Value
String email = emailET.getText().toString();
// Get Password Edit View Value
String password = pwdET.getText().toString();
// Instantiate Http Request Param Object
RequestParams params = new RequestParams();
// When Email Edit View and Password Edit View have values other than Null
if (Utility.isNotNull(email) && Utility.isNotNull(password)) {
// When Email entered is Valid
if (Utility.validate(email)) {
// Put Http parameter username with value of Email Edit View control
params.put("username", email);
// Put Http parameter password with value of Password Edit Value control
params.put("password", password);
// Invoke RESTful Web Service with Http parameters
invokeWS(params);
}
// When Email is invalid
else {
Toast.makeText(getApplicationContext(), "Please enter valid email", Toast.LENGTH_LONG).show();
}
}
// When any of the Edit View control left blank
else {
Toast.makeText(getApplicationContext(), "Please fill the form, don't leave any field blank", Toast.LENGTH_LONG).show();
}
}
}如果使用基本身份验证,则必须通过授权标题发送用户名和密码,而不是正文参数 这是一个例子: 获取/securefiles/HTTP/1.1
主持人:www.httpwatch.com
授权:基本AHR0CHDHDnomy= 凭据以Base64编码,您可以在此处看到解释:
那么,你是说如果我把它放在身体里,它就不起作用了吗?@manvendradubey是的,你需要这样发送它:AsyncHttpClient=new AsyncHttpClient();客户端.setBasicAuth(“用户名”、“密码/令牌”);client.get(“);