zoukankan      html  css  js  c++  java
  • android http get

            Executors.newSingleThreadExecutor().execute{
                val uri = "https://www.cnblogs.com/hangj"
                val url = URL(uri)
                val con = url.openConnection() as HttpsURLConnection
                con.requestMethod = "GET"
                con.setRequestProperty("Connection", "keep-alive")
                con.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7")
    
                con.readTimeout = 15000
                con.connectTimeout = 15000
                con.doOutput = false
    
                con.connect()
                val res =
                if (con.getHeaderField("Content-Encoding") == "gzip") {
                    GZIPInputStream(con.inputStream).bufferedReader().readText()
                }else{
                    con.inputStream.reader().readText()
                }
    
                println(res)
            }
    
    1. OkHttp
            val uri = "https://www.cnblogs.com/hangj"
            val client = OkHttpClient.Builder().build()
            val req = Request.Builder()
                .url(uri)
                .header("Connection", "keep-alive")
                .header("Accept", "application/json, text/javascript, */*; q=0.01")
                .get().build()
    
            val call = client.newCall(req)
            call.enqueue(object: Callback {
                override fun onResponse(call: Call, response: Response) {
                    val res =
                    if (response.headers["Content-Encoding"] == "gzip"){
                        GZIPInputStream(response.body?.byteStream()).bufferedReader().readText()
    //                    response.body?.source()?.let { GzipSource(it) }
                    } else {
                        response.body?.string()
                    }
                    println(res)
                }
                override fun onFailure(call: Call, e: IOException) {
                    e.localizedMessage?.let { Log.i("onFailure", it) }
                }
            })
    
  • 相关阅读:
    同步请求和异步请求的区别
    Ajax初步理解
    ajax的GET和POST请求
    What's this?(js)
    rxjs
    Angular7_获取异步方法里面的数据
    Angular7_人员登记系统
    Angular7
    特殊操作符
    Oracle 表操作
  • 原文地址:https://www.cnblogs.com/hangj/p/13744806.html
Copyright © 2011-2022 走看看