工作在卷曲很好,当我在我的终端上运行此命令卷曲工作正常:发布采购信息,但不是在Android的凌空
卷曲-X POST -H“内容类型:应用程序/ JSON” - H “授权: 基本UNAME:pass123” -d '{ “username” 的: “UNAME”, “密码”: “pass123”}' “http://mysite123.com/api/Login”
现在,我想使用Android排球发送此帖子请求。代码如下:
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
String url = "http://mysite123.com/api/Login";
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(MainActivity.this,response,Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_LONG).show();
error.printStackTrace();
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
params.put("userName", "uname");
params.put("password", "pass123");
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String,String> headers=new HashMap<String,String>();
headers.put("Content-Type", "application/json");
headers.put("Accept", "application/json");
headers.put("Accept-Encoding", "utf-8");
String creds = String.format("%s:%s","uname","pass123");
String auth = "Basic " + Base64.encodeToString(creds.getBytes(), Base64.NO_WRAP);
headers.put("Authorization", auth);
return headers;
}
};
queue.add(stringRequest);
但它给我的错误堆栈跟踪为:
七月九日至3日:46:43.823 17712-17918/com.ankitshubham97.gpsmonitoring E /排球: 108117] BasicNetwork.performRequest:对于http://mysite123.com/api/Login 09-03 07:46:43.833 17712-17712/com.ankitshubham97.gpsmonitoring意外的响应代码400 E/Qmage:isQIO:流不是QIO文件 09-03 07:46: 43.843 17712-17712/com.ankitshubham97.gpsmonitoring W/System.err:com.android.volley.ServerError 09-03 07:46:43.853 17712-17712/com.ankitshubham97.gpsmo nitoring W/System.err:at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:163) 09-03 07:46:43.853 17712-17712/com.ankitshubham97.gpsmonitoring W/System.err:在com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)
可能是什么问题呢?或者任何直接从android发送curl命令的方法?
编辑:我甚至用https://incarnate.github.io/curl-to-php/转换上述cURL命令为php代码和PHP运行良好。我想知道Volley有什么问题!
我想你的curl命令,但其赋予相同的响应405不允许的方法 - DOSarrest互联网安全 –
也就是说因为我在这里给出了错误的网址,用户名和密码,而不是真正的网址。 –