Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android截击-使用body和url参数发布帖子-同时使用getParams和getBody_Android_Post_Get_Android Volley_Http Protocols - Fatal编程技术网

Android截击-使用body和url参数发布帖子-同时使用getParams和getBody

Android截击-使用body和url参数发布帖子-同时使用getParams和getBody,android,post,get,android-volley,http-protocols,Android,Post,Get,Android Volley,Http Protocols,我有一个简单的问题,在POST上调用哪个方法,在GET上调用哪个方法 这是我的简单课程: public class CustomStringRequest extends Request<CustomNetworkResponse> { private final Map<String, String> headers; private final Map<String, String> params; private final String body;

我有一个简单的问题,在POST上调用哪个方法,在GET上调用哪个方法

这是我的简单课程:

public class CustomStringRequest extends Request<CustomNetworkResponse> {

private final Map<String, String> headers;
private final Map<String, String> params;
private final String body;
private final Response.Listener<CustomNetworkResponse> listener;


public CustomStringRequest(int method,
                           String url,
                           Map<String, String> headers,
                           Map<String, String> params,
                           String body,
                           Response.Listener<CustomNetworkResponse> listener,
                           Response.ErrorListener errorListener) {

    super(method, url, errorListener);
    this.headers = headers;
    this.params = params;
    this.body = body;
    this.listener = listener;
}



@Override
public Map<String, String> getHeaders() throws AuthFailureError {
    return headers != null ? headers : super.getHeaders();
}

@Override
public Map<String, String> getParams() {
    return params;
}

@Override
public byte[] getBody() throws AuthFailureError {
    return body != null ? body.getBytes() : null;
}
公共类CustomStringRequest扩展请求{
私有最终地图标题;
私有最终映射参数;
私有最终字符串体;
私人最终回应。倾听者;
公共CustomStringRequest(int方法,
字符串url,
地图标题,
映射参数,
弦体,
回应,听众,
Response.ErrorListener(错误监听器){
super(方法、url、errorListener);
this.headers=标题;
this.params=params;
这个身体=身体;
this.listener=listener;
}
@凌驾
公共映射getHeaders()引发AuthFailureError{
返回标题!=null?标题:super.getHeaders();
}
@凌驾
公共映射getParams(){
返回参数;
}
@凌驾
公共字节[]getBody()抛出AuthFailureError{
返回body!=null?body.getBytes():null;
}
我怎样才能同时使用getParams()和getBody()?可能吗?因为当我检查超级实现时,我认为这是不可能的

我还注释掉了getBody()方法,以了解这一点


这是否意味着我不能发送带有正文和url参数的帖子?url参数是用于GET请求的吗?这是标准吗?

我不知道您的意图是什么!您可以始终使用url参数附加url(如果参数很简单)。然后您可以使用
getParams()
getBody()
来传递更复杂的参数


我认为这两者之间的区别在于参数在网络中传输时的编码(尽管我不能100%确定),但是是的。
getBody()
更安全。

我认为它们是一样的,因为getParams在默认值内调用getBody@BNK,是的,似乎是这样。奇怪的是,没有创建UrlParametrs的方法(它已经被弃用了……但我仍然不相信它可以作为UrlParams使用)。或者我遗漏了什么,有一个方法吗?你是说GET请求的url中的参数吗?不是。在帖子中。我需要用URLPARMS和body发出POST请求。我现在自己实现了这一点。(url和urlParameters的串联).如果有一种方法涵盖了这种连接,那么它应该适用于get和post请求,对吗?