How to use HttpsURLConnection through proxy by setProperty?

前端 未结 3 1492
梦如初夏
梦如初夏 2020-12-10 03:29

Network environment:

Https Client<=============>Proxy Server<==============>Https Server
       

3条回答
  •  我在风中等你
    2020-12-10 03:34

    thank you @divinedragon!

    Same code on kotlin:

     fun testProxy(login: String, pass: String, proxyData: ProxyData): String {
        val url = URL("http://api.ipify.org")
        val proxy = Proxy(Proxy.Type.HTTP, InetSocketAddress(proxyData.ip, proxyData.port))
        val connection = url.openConnection(proxy) as HttpURLConnection
    
        val loginPass = "$login:$pass"
        val encodedLoginPass = Base64.getEncoder().encodeToString(loginPass.toByteArray())
        val authString = "Basic $encodedLoginPass"
        connection.setRequestProperty("Proxy-Authorization", authString);
        with(connection) {
            requestMethod = "GET"  // optional default is GET
            connectTimeout = 2000
            readTimeout = 2000
            return inputStream.bufferedReader().readText()
        }
    }
    

提交回复
热议问题