我正在尝试使用一个小Java程序发出一个HTTPs请求(发送SQL命令的纯文本)并尝试接收JSON数据。这个功能已经内置到Java中了吗?或者我需要外部包/库吗?
发布于 2018-08-21 02:39:16
你可以做很多事情。当我通常需要使用HTTP请求时,我会使用Jsoup parser,因为它可以在简单的一行代码中发送HTTP请求:
Jsoup.connect("google.com").data("key", "value").post();
通过使用ignoreContentType(true),您可以使用Jsoup获得JSON响应
Jsoup.connect("https://postman-echo.com/post").data("derp1", "derp2").data("sql1", "sql2").ignoreContentType(true).post().body().html()
这将导致以下输出:
{
"args":{
},
"data":"",
"files":{
},
"form":{
"derp1":"derp2",
"sql1":"sql2"
},
"headers":{
"host":"postman-echo.com",
"content-length":"21",
"accept":"text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2",
"accept-encoding":"gzip",
"content-type":"application/x-www-form-urlencoded; charset=UTF-8",
"user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
"x-forwarded-port":"443",
"x-forwarded-proto":"https"
},
"json":{
"derp1":"derp2",
"sql1":"sql2"
},
"url":"https://postman-echo.com/post"
}
然后,只需使用您喜欢的任何JSON api将字符串解析为JSON (我个人使用org.json和Gson)。您可以在位于here的文档中查看更多关于Jsoup的信息。
如果您不想使用API,this可能比我能更好地帮助您,因为它展示了如何使用HTTPSUrlConnection和Apache的HTTPClient发送POST请求。
https://stackoverflow.com/questions/51935499
复制相似问题