Android post授权
Android post authorization
我正在尝试对我的服务器执行 http post,以在 this tutorial. I need to make a request to my server but i have to add Authorization, i get the string with the function getB64Auth from this answer 的帮助下检查登录凭据是否有效。该函数记录正确的变量,(与我在 postman 中使用的相同)。但是由于某种原因,如果我 运行 我的代码,我的程序会停止 运行ning。我已经尝试添加评论中的代码,但没有帮助。
我做错了什么?
private String getB64Auth (String login, String pass) {
String source=login+":"+pass;
String ret="Basic "+Base64.encodeToString(source.getBytes(),Base64.URL_SAFE| Base64.NO_WRAP);
Log.d("authy", ret);
return ret;
}
/** Called when the user clicks the Login button */
public void login(View view) {
// Getting username and password
EditText userText = (EditText) findViewById(R.id.inputLoginUsername);
EditText passText = (EditText) findViewById(R.id.inputLoginPassword);
String usernameInput = userText.getText().toString();
String passwordInput = passText.getText().toString();
String authorizationString = getB64Auth(usernameInput,passwordInput );
// Do something in response to button
// 1. Create an object of HttpClient
HttpClient httpClient = new DefaultHttpClient();
// 2. Create an object of HttpPost
// I have my real server name down here
HttpPost httpPost = new HttpPost("https://myservername.com/login");
// 3. Add POST parameters
httpPost.setHeader("Authorization", authorizationString);
// 5. Finally making an HTTP POST request
try {
HttpResponse response = httpClient.execute(httpPost);
Log.d("win", "win1");
// write response to log
Log.d("Http Post Response:", response.toString());
} catch (ClientProtocolException e) {
Log.d("fail", "Fail 3");
// Log exception
e.printStackTrace();
} catch (IOException e) {
Log.d("fail", "Fail 4");
// Log exception
e.printStackTrace();
}
}
当我 运行 我的代码应用程序停止工作时,我可以找到日志 authy 但我找不到任何失败的成功日志。
我在示例中更改的内容是步骤 3。
我在那里添加了我的授权。
并删除了第 4 步,因为我不需要它。
工作 postman 示例,我想在 android.
中提出相同的请求
你可以看到我得到了回复,并且只根据我的请求设置了授权。
我找不到任何像样的 post/authorization 教程所以我希望我正在寻找正确的方向。
这是一个 android 4.* 项目
我正在尝试对我的服务器执行 http post,以在 this tutorial. I need to make a request to my server but i have to add Authorization, i get the string with the function getB64Auth from this answer 的帮助下检查登录凭据是否有效。该函数记录正确的变量,(与我在 postman 中使用的相同)。但是由于某种原因,如果我 运行 我的代码,我的程序会停止 运行ning。我已经尝试添加评论中的代码,但没有帮助。
我做错了什么?
private String getB64Auth (String login, String pass) {
String source=login+":"+pass;
String ret="Basic "+Base64.encodeToString(source.getBytes(),Base64.URL_SAFE| Base64.NO_WRAP);
Log.d("authy", ret);
return ret;
}
/** Called when the user clicks the Login button */
public void login(View view) {
// Getting username and password
EditText userText = (EditText) findViewById(R.id.inputLoginUsername);
EditText passText = (EditText) findViewById(R.id.inputLoginPassword);
String usernameInput = userText.getText().toString();
String passwordInput = passText.getText().toString();
String authorizationString = getB64Auth(usernameInput,passwordInput );
// Do something in response to button
// 1. Create an object of HttpClient
HttpClient httpClient = new DefaultHttpClient();
// 2. Create an object of HttpPost
// I have my real server name down here
HttpPost httpPost = new HttpPost("https://myservername.com/login");
// 3. Add POST parameters
httpPost.setHeader("Authorization", authorizationString);
// 5. Finally making an HTTP POST request
try {
HttpResponse response = httpClient.execute(httpPost);
Log.d("win", "win1");
// write response to log
Log.d("Http Post Response:", response.toString());
} catch (ClientProtocolException e) {
Log.d("fail", "Fail 3");
// Log exception
e.printStackTrace();
} catch (IOException e) {
Log.d("fail", "Fail 4");
// Log exception
e.printStackTrace();
}
}
当我 运行 我的代码应用程序停止工作时,我可以找到日志 authy 但我找不到任何失败的成功日志。 我在示例中更改的内容是步骤 3。
我在那里添加了我的授权。
并删除了第 4 步,因为我不需要它。
工作 postman 示例,我想在 android.
中提出相同的请求我找不到任何像样的 post/authorization 教程所以我希望我正在寻找正确的方向。
这是一个 android 4.* 项目