所有人!
我一直在构建和使用使用我所在公司的API的应用。当我通过带有标头(编码,授权等)和正文(作为JSON,使用Content-Type =“ application / json”)的URL连接(通过HttpURlConnection)执行请求(GET)时,响应代码为200,并且连接效果很好,但是我在另一个请求中使用了相同的标头,但没有内容,我收到了错误的请求。
我已经尝试设置doOutout = false,但这是行不通的。
我认为URL和标头都可以,因为我执行了邮递员的请求并得到了响应。
这是我创建连接和连接的方式:
val uri = Uri.parse("Base URL").buildUpon().appendPath(path).build() val url = URL(uri.toString()) val connection = url.openConnection() as HttpURLConnection connection.apply {
addRequestProperty("Charset", Charsets.UTF_8.displayName())
addRequestProperty("Authorization", "Basic $token")
addRequestProperty("X-Serial", 5036.toString())
requestMethod = "GET"
connectTimeout = 0
readTimeout = 0
doOutput = false
if (responseCode != HTTP_OK) throws Exception("Erro")
}
答案 0 :(得分:0)
错误的请求表明,这与您的请求形成方式有关。
您设置的请求标头之一可能有问题。查看接受的请求标头here。
字符集应该被命名为Accept-Charset,而且我还没有看到使用X-Serial的任何例子。
Here是使用HttpUrlConnection设置GET请求的示例。您可以尝试删除除Authorization之外的所有标头,并将请求方法设置为GET,如本例所示。
答案 1 :(得分:0)
我发现了问题所在:我! $ token值是使用标志DEFAULT生成的。意识到这一点之后,我把标志NO_WRAP放下,我的请求成功了。
我不好!但是感谢大家的支持!