执行以下代码:
Jsoup.connect(baseURL + dataJSSrc).execute();
抛出异常:
org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml. Mimetype=application/x-javascript, URL=http://www.abc.com/playdata/206/8910.js?44613.77
Run Code Online (Sandbox Code Playgroud)
但是当我用的时候
URLConnection conn = new URL(baseURL + dataJSSrc).openConnection();
没关系!
在以下代码中
System.out.println(conn.getContentType()); // out put 'application/x-javascript'
Run Code Online (Sandbox Code Playgroud)
Jsoup只能用于下载HTML或XML吗?
虽然我不同意BalusC的回答,但您可以使用Jsoup下载任何您喜欢的内容.默认情况下,如果Jsoup检索具有无法解析为HTML的mime类型的内容,则会抛出异常,以避免解析例如图像.但是,connection.ignoreContentType(true)如果您只想获取字节或字符串,则可以禁用该测试:
String script = Jsoup.connect(jsUrl).ignoreContentType(true).execute().body();
Run Code Online (Sandbox Code Playgroud)
要么
byte[] bytes = Jsoup.connect(imageUrl).ignoreContentType(true).execute().bodyAsBytes();
Run Code Online (Sandbox Code Playgroud)
使用成熟的HTTP客户端可以获得更多控制权,但这种方法在紧要关头中非常有用.
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |