zoukankan      html  css  js  c++  java
  • java.net.URL

    说明

    • URLConnection
    • HttpURLConnection extends URLConnection

    Demo 请求API,不用发送参数

    // 目标地址
    URL url = new URL("https://api")
    // 转换
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection()
    // 设置请求方法
    urlConnection.setRequestMethod("GET")
    // 从此链接打开一个输入流,读取接口返回的数据,input到我们的内存中。
    urlConnection.inputStream.withReader("UTF-8", {
        Reader reader -> println(reader.text) }
    )

    Demo 请求API,发送参数

    URL baseUrl = new URL('https://api/')
    HttpURLConnection connection = (HttpURLConnection)baseUrl.openConnection()
    // 设置请求方法
    connection.setRequestMethod("POST")
    // 设置需要输出参数给对方
    connection.setDoOutput(true)
    // 设置请求输出参数类型
    connection.setRequestProperty("Content-Type","application/json")
    // 输出给对方参数
    connection.outputStream.withWriter { java.io.Writer writer -> writer << params}
    // 接受返回内容
    filebyte = connection.inputStream.getBytes()

    理解

    URL baseUrl = new URL("http://www.duchaoqun.cn")
    HttpURLConnection connection = (HttpURLConnection) baseUrl.openConnection()
    connection.setRequestMethod("GET")
    connection.setDoInput(true)
    def fileBytes = connection.inputStream.getBytes()
    GET/POST请求,不需要参数时,当我们需要通过这个URL连接从服务器获取数据到本地内存,就要设置DoInput为true(默认为true)。
    connection.setDoOutput(true)
    connection.outputStream.withWriter {...}
    POST请求,需要参数时,我们要从内存给远程一些参数,就需要设置DoOutput为true(默认为false),然后给它输出一些参数。
  • 相关阅读:
    HDU ACM 1020 Encoding
    HDU ACM 1019 Least Common Multiple
    HDU ACM 1009 FatMouse' Trade
    HDU ACM 1032 The 3n + 1 problem
    HD ACM 1061 Rightmost Digit
    UVa 401 Palindromes
    UVa 489 Hangman Judge
    HDU ACM 1071 The area
    5/25
    受涼6/8
  • 原文地址:https://www.cnblogs.com/duchaoqun/p/14009672.html
Copyright © 2011-2022 走看看