java 客户端发起http请求2

客户端请求方式一,如果数据类型为 x-www-form-urlencoded

用到的json jar包为 gradle ('com.alibaba:fastjson:1.2.38',)

那么对应的代码片段为:

val url = "http://www.unionpayintl.com/cardholderServ/serviceCenter/rate/search"
        val params = mutableListOf<NameValuePair>()
        val pair = BasicNameValuePair("curDate", SimpleDateFormat("yyyy-MM-dd").format(Date()))
        params.add(pair)
        val client = HttpClients.createDefault()
        val httpPost = HttpPost(url)
        try {
            httpPost.entity = UrlEncodedFormEntity(params, "UTF-8")
            httpPost.setHeader("Content-type", "application/x-www-form-urlencoded")
            val response = client.execute(httpPost)
            val statusCode = response.statusLine.statusCode
            if (statusCode == 200) {
                val entity = response.entity
                val s = EntityUtils.toString(entity)
                println(JSONObject.parseObject(s))
                return JSONObject.parseObject(s).getDoubleValue("exchangeRate")
            }
        } catch (e: IOException) {
            e.printStackTrace()
        }

如果请求的数据是json格式,则

val url = "http://www.baidu.com?id=12&name=3"
        try {
            val result = HttpUtils.get(url)
            val json = JSONObject.parseObject(result)
        } catch (e: Exception) {
            e.printStackTrace()
        }
原文地址:https://www.cnblogs.com/dwb91/p/9010960.html