HTTP URL 地址编码 Scala/Java
HTTP URL Address Encoding in Scala/Java
我想要一个加载 url 地址内容的函数,但我事先不知道 url 是否已编码。有解决这个问题的库函数吗?
一个可能的解决方案是先解码 url 然后再编码,但我必须以不同的方式处理 url 的每个部分(在下面的示例中路径部分中没有 ASCII 字符,但它也可能在查询部分中)。需要处理的细节太多了,如果有一个库能处理好那就太好了。
object UrlContent extends App {
def connect(urls: String): Int = {
val url = new URL(urls)
val conn: HttpURLConnection = url.openConnection().asInstanceOf[HttpURLConnection]
conn.getResponseCode
}
val urls1 = "http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzo%C3%B1osos.pdf"
val urls2 = "http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzoñosos.pdf"
println(connect(urls1))
println(connect(urls2))
}```
The output is:
200
404
import io.lemonlabs.uri.Url
val urls1 = Url.parse("http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzo%C3%B1osos.pdf")
val urls2 = Url.parse("http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzoñosos.pdf")
println(urls1)
println(urls2)
两种情况下的输出
http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzo%C3%B1osos.pdf
http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzo%C3%B1osos.pdf
所以它似乎能够检测到 URL 是否已经编码。
我想要一个加载 url 地址内容的函数,但我事先不知道 url 是否已编码。有解决这个问题的库函数吗?
一个可能的解决方案是先解码 url 然后再编码,但我必须以不同的方式处理 url 的每个部分(在下面的示例中路径部分中没有 ASCII 字符,但它也可能在查询部分中)。需要处理的细节太多了,如果有一个库能处理好那就太好了。
object UrlContent extends App {
def connect(urls: String): Int = {
val url = new URL(urls)
val conn: HttpURLConnection = url.openConnection().asInstanceOf[HttpURLConnection]
conn.getResponseCode
}
val urls1 = "http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzo%C3%B1osos.pdf"
val urls2 = "http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzoñosos.pdf"
println(connect(urls1))
println(connect(urls2))
}```
The output is:
200
404
import io.lemonlabs.uri.Url
val urls1 = Url.parse("http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzo%C3%B1osos.pdf")
val urls2 = Url.parse("http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzoñosos.pdf")
println(urls1)
println(urls2)
两种情况下的输出
http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzo%C3%B1osos.pdf
http://www.ins.gob.pe/insvirtual/images/otrpubs/pdf/ponzo%C3%B1osos.pdf
所以它似乎能够检测到 URL 是否已经编码。