【发布时间】:2015-02-12 07:24:51
【问题描述】:
我正在尝试通过给定here 的 jsoup 发出这个 HTTP 请求:
http://api.decarta.com/v1/[KEY]/batch?requestType=geocode
这是我的代码:
String postUrl = postURLPrefix + apiKey + "/batch?requestType=geocode";
String response = Jsoup.connect(postUrl).timeout(60000).ignoreContentType(true)
.header("Content-Type", "application/json;charset=UTF-8")
.method(Connection.Method.POST)
.data("payload", jsonPayload.toString())
.execute()
.body();
jsonPayload.toString() 给出了这个:
{
"payload": [
"146 Adkins Street,Pretoria,Pretoria,Gauteng",
"484 Hilda Street,Pretoria,Pretoria,Gauteng",
"268 Von Willich Street,Centurion,Centurion,Gauteng",
...
]
}
这是一个完全有效的 JSON。
但是,jsoup 每次都返回 HTTP 状态码 400(格式错误)。
那么,如果可能的话,如何使用 jsoup 发送带有 JSON 有效负载的正确 HTTP POST? (请注意,它是payload,而不是URL中的普通键值对)
【问题讨论】:
标签: java json kotlin http-post jsoup