gpt4 book ai didi

java - Java 中的 Alchemy api 获取 URLGetRelations() 的异常

转载 作者:行者123 更新时间:2023-11-30 11:12:41 24 4
gpt4 key购买 nike

Alchemy API 在我的程序中用于从 URL 中提取关键字和关系。

当从 API 调用中提取这些时,我收到如下错误,

'java.io.IOException: Error making API call: cannot-retrieve:downstream-http-error:404. at com.alchemyapi.api.AlchemyAPI.doRequest(AlchemyAPI.java:960) at com.alchemyapi.api.AlchemyAPI.GET(AlchemyAPI.java:914) at com.alchemyapi.api.AlchemyAPI.URLGetRankedKeywords(AlchemyAPI.java:234) at com.alchemyapi.api.AlchemyAPI.URLGetRankedKeywords(AlchemyAPI.java:224) at innointel.feature1.Article.alchemyCall(Article.java:477)'

然后我发现“http://venturebeat.com/2014/10/22/microsoft-and-ibm-partner-to-bring-enterprise-software-to-their-respective-cloud-platforms/”是导致错误的 URL。我调用关系 API 只是将 URL 如下所示..

文档 doc = alchemyObj.URLGetRelations("http://venturebeat.com/2014/10/22/microsoft-and-ibm-partner-to-bring-enterprise-software-to-their-respective-cloud-platforms/ ");

现在好了,它没有错误。这里到底发生了什么??

我在一些网站上发现“cannot-retrieve:downstream-http-error:404”是由于作为参数传递的无效 URL。在我测试的 50 个 URL 中,有 7 个 URL 显示错误。其余工作正常。当我提取 URL 字符串时再次将其作为参数放置,7 个 URL 也工作正常..

(URL 是使用 POI API 从 excel 文档中解析出来的)

提前致谢

最佳答案

如你所说

'java.io.IOException: Error making API call: cannot-retrieve:downstream-http-error:404'

异常是由函数调用中错误的 URL 参数引起的 (ie.URLGetRankedKeywords())由于 URL 是从 EXCEL 文档解析的,有时单元格末尾可能会出现“\r”字符。如果出现,这将使 URL 无效。您可以做的是,在将 URL 传递给 API 调用之前从 URL 中删除所有“\r”字符。

即,

url = url.replaceAll("\r", "");
Document doc = alchemyObj.URLGetRelations(url);

这可能有用。它对我有用。

关于java - Java 中的 Alchemy api 获取 URLGetRelations() 的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26752287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com