我有一个完美的curl命令 curl --request POST --user xyz@mail.com:password http://localhost:8080/api/uploadmydata -d' param1 = 300'
但是我无法用截击做同样的事情。 我目前的代码是:
public static void tryUploading(final Activity activity){
StringRequest stringRequest = new StringRequest(Request.Method.POST, BackendConnection.uploadDataUrl,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//textPrompt.setText("Wrong User name or Password");
}
}){
@Override
public Map<String, String> getHeaders() {
Map<String, String> params = new HashMap<String, String>();
params.put(
"Authorization",
String.format("Basic %s", Base64.encodeToString(
String.format("%s:%s", "xyz@mail.com", "password").getBytes(), Base64.DEFAULT)));
params.put("param1", 300);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(activity);
requestQueue.add(stringRequest);
}
我使用spring boot作为服务器。在上面的服务器中,代码触发用户名和密码的验证,但之后无法到达预期的URL。 如何在curley请求中添加用户凭据和参数,就像在curl --user和-d中一样?
答案 0 :(得分:0)
由于我看不到你的应用程序中使用的URL,我只需要判断你使用的是CURL中的URL。
还要求在运行服务器的计算机上执行CURL时,必须相应地更改应用程序中的IP地址,因为localhost引用同一设备。
因此,除非您的服务器无法在智能手机上运行,否则您必须使用计算机IP地址,而不是本地主机。