Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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 如何向来自volley库的请求添加标头_Android_Rest_Android Studio_Kotlin_Android Volley - Fatal编程技术网

Android 如何向来自volley库的请求添加标头

Android 如何向来自volley库的请求添加标头,android,rest,android-studio,kotlin,android-volley,Android,Rest,Android Studio,Kotlin,Android Volley,我正在用kotlin开发一个android应用程序,在这条路上我想使用一个请求来响应restfull服务器。。。 现在看看我从服务器请求它的代码和它的true,但我不知道如何将header的参数添加到我的请求中 fun sendCode(){ val URL = "https://RestfulSms.com/api/MessageSend" val body : JSONObject = JSONObject() val header : JSONO

我正在用kotlin开发一个android应用程序,在这条路上我想使用一个请求来响应restfull服务器。。。 现在看看我从服务器请求它的代码和它的true,但我不知道如何将header的参数添加到我的请求中

fun sendCode(){
    val URL = "https://RestfulSms.com/api/MessageSend"
    val body : JSONObject = JSONObject()
    val header : JSONObject = JSONObject()
    body.put("Messages",messageText )
    body.put("MobileNumbers",PhoneNumber )
    body.put("LineNumber","***********")
    body.put("SendDateTime","")
    body.put("CanContinueInCaseOfError","false")

    val request :JsonObjectRequest = JsonObjectRequest(Request.Method.POST,
        URL,
        body,
        Response.Listener<JSONObject> { response ->
            Log.e(tag, response.toString())
        },
        Response.ErrorListener{ error ->
            Log.e(tag, error.message )
        })


    //request.headers.put("Content-Type","application/json")
    header.put("x-sms-ir-secure-token",tokenKey)
    queue.getCache().clear();
    queue.add(request)
}
fun sendCode(){
val URL=”https://RestfulSms.com/api/MessageSend"
val body:JSONObject=JSONObject()
val头:JSONObject=JSONObject()
body.put(“Messages”,messageText)
body.put(“手机号码”,电话号码)
body.put(“行号”、“行号”)
body.put(“SendDateTime”,即“”)
body.put(“CanContinueInCaseOfError”、“false”)
val请求:JsonObjectRequest=JsonObjectRequest(request.Method.POST,
网址,
身体,
Response.Listener{Response->
Log.e(标记,response.toString())
},
Response.ErrorListener{error->
Log.e(标记,error.message)
})
//request.headers.put(“内容类型”、“应用程序/json”)
header.put(“x-sms-ir-secure-token”,tokenKey)
queue.getCache().clear();
queue.add(请求)
}

在提出此类问题之前,请先搜索文档和其他帖子。Volley是一个标准库,提供了大量文档

查看此帖子
我发现了我的问题,解决方法如下

我只是用JsonObjectRequest替换对象,然后使用覆盖getHeaders函数

            val request :JsonObjectRequest = object : JsonObjectRequest(Request.Method.POST,
            URL,
            body,
            Response.Listener<JSONObject> { response ->
                Log.e(tag, response.toString())
            },
            Response.ErrorListener{ error ->
                Log.e(tag, error.message )
            }) {

            @Throws(AuthFailureError::class)
            override fun getHeaders(): Map<String, String> {
                val headers = HashMap<String, String>()
                headers.put("Content-Type", "application/json");
                headers["x-sms-ir-secure-token"] = tokenKey
                return headers
        }
val-request:JsonObjectRequest=object:JsonObjectRequest(request.Method.POST,
网址,
身体,
Response.Listener{Response->
Log.e(标记,response.toString())
},
Response.ErrorListener{error->
Log.e(标记,error.message)
}) {
@抛出(AuthFailureError::类)
覆盖有趣的getHeaders():映射{
val headers=HashMap()
headers.put(“内容类型”、“应用程序/json”);
标题[“x-sms-ir-secure-token”]=tokenKey
返回标题
}

这能回答你的问题吗?不,老兄……我有一个解决方案,用于设置标题的JsonObjectRequest。我之前搜索并查看了文档和其他帖子,但我与其他情况略有不同……其他人使用stringRequest,是的,你可以覆盖getHeaders函数并替换自定义标题,但我使用JsonObjectRequest用于获取我的信息,它没有任何getHeaders函数可以覆盖…@arashforus-我能理解使用JsonObjectRequest的必要性吗?如果服务器希望这样,我们可以在请求中应用相应的内容类型,而不是这样做吗?