我正在使用Selenium 2 Java API与网页进行交互。我的问题是:
如何检测链接目标的内容类型?
基本上,这是背景:在单击链接之前,我想确保
响应是HTML文件。如果没有,我需要以其他方式处理它。
因此,假设有一个PDF文件的下载链接。应用程序应
直接读取该URL的内容,而不是在浏览器中打开它。
我们的目标是拥有一个能够自动知道
当前位置是HTML,PDF,XML或其他类型的应用程序,以便使用适当的解析器
从文档中提取有用的信息。
更新资料
额外的奖励:将奖励给最佳解决方案,使我能够获得
给定URL 的内容类型。
正如Jochen所建议的那样,在不下载内容的情况下获取Content-type的方法
是HTTP HEAD,而硒webdrivers似乎没有提供这种
功能。您将必须找到另一个库来帮助您
获取URL的内容类型。
可以做到这一点的Java库是ApacheHttpComponents,尤其是HttpClient.
(以下代码未经测试)
HttpClient httpclient = new DefaultHttpClient();
HttpHead httphead = new HttpHead("http://foo/bar");
HttpResponse response = httpclient.execute(httphead);
BasicHeader contenttypeheader = response.getFirstHeader("Content-Type");
System.out.println(contenttypeheader);
该项目为
HttpClient JavaDoc forHttpClient, the documentation for the HttpClient
interface 的文档包含了一个很好的
示例。
问题内容: 我正在使用Selenium 2 Java API与网页进行交互。我的问题是:如何检测链接目标的内容类型? 基本上,这是背景:单击链接之前,我想确保响应是HTML文件。如果没有,我需要以其他方式处理它。因此,假设有一个PDF文件的下载链接。应用程序应直接读取该URL的内容,而不是在浏览器中打开它。 我们的目标是拥有一个能够自动知道当前位置是HTML,PDF,XML或其他类型的应用程序,以
问题内容: 我正在使用Selenium 2 Java API与网页进行交互。我的问题是:如何检测链接目标的内容类型? 基本上,这是背景:单击链接之前,我想确保响应是HTML文件。如果没有,我需要以其他方式处理它。因此,假设有一个PDF文件的下载链接。应用程序应直接读取该URL的内容,而不是在浏览器中打开它。 目标是拥有一个能够自动知道当前位置为HTML,PDF,XML或任何其他类型的应用程序,以使
我使用spring JAX-RS将文件作为多部分表单数据上传。我有inputstream对象作为参数。当我将这个输入流复制到磁盘时,我得到了我的文本文件。 但是当我试图检测这个输入流的内容类型时,我得到的内容类型是application/octet-stream。 作为一个测试,我还用tika desktop测试了相同的文件,并获得了正确的内容类型。
问题内容: 我一直在做一个小项目,我发现自己处在一个需要php函数的位置,该函数可以链接数据中的URL,同时使我可以在不想链接的链接上设置一些例外。任何想法如何做到这一点? 问题答案: 我在GitHub上有一个开源项目:LinkifyURL,您可能要考虑一下。它具有一个功能:从文本中提取URL并将其转换为链接。请注意,这不是一项微不足道的任务! 如果您确实不需要链接特定的域(即vimeo和yout
我一直试图仅使用文件内容检测MIME类型,使用Apache Tika Core和Apache Tika Parser1.23 jars。下面是用于相同内容的代码: Tika无法检测扩展名为。tmp(text/plain file)和iso-8859-1字符集的文件的内容类型,内容如下: èé 通过以下方式正确检测具有相同配置和以下内容的文件: 000000000000000000000000000