我有这个卷曲电话
curl -d "variable1=text1&variable2=text2&variable3=text3" -d information='{"id":"1234567489", "token":"AAACSweqPLFPrf8F6r1sux2AZDZD"}' https://localhost:8080/token
我正在尝试将其转换为 Java 调用,但我不知道如何管理这两种类型的字段(url 编码和 json)
有任何想法吗?
谢谢
如果你想用 Java 做 URL/HTTP 的东西,你会想看看Apache HTTP 客户端库。
如果您尝试解析 JSON,那么您将需要JSON 库。 或者,如果您想亲自动手,可以使用 java.net.URL 和/或 java.net.URLConnection:
URL url = new URL("http://stackoverflow.com");
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
for (String line; (line = reader.readLine()) != null;) {
System.out.println(line);
}
} finally {
if (reader != null) try { reader.close(); } catch (IOException ignore) {}
}
另请参阅Oracle关于该主题的简单教程。然而,它有点冗长。
迅速
我实际上想通了,只需要对调用的 JSON 部分进行 URL 编码,然后我就能够使用常规的 Apache HTTP 客户端使用整个 url 编码的主体进行调用。