Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
coldfusion中的JSOUP URL连接错误_Coldfusion_Jsoup_Cfml_Coldfusion 2016 - Fatal编程技术网

coldfusion中的JSOUP URL连接错误

coldfusion中的JSOUP URL连接错误,coldfusion,jsoup,cfml,coldfusion-2016,Coldfusion,Jsoup,Cfml,Coldfusion 2016,我尝试过使用JSOUP,下面我提到了我的代码 Application.cfc as CFM文件作为 <cfset jsoupObj = createObject("java","org.jsoup.Jsoup")> <cfset testURL = 'https://en.wikipedia.org/wiki/List_of_countries_by_population_(United_Nations)'> <cfset connectUrlSite = jso

我尝试过使用JSOUP,下面我提到了我的代码

Application.cfc as

CFM文件作为


<cfset jsoupObj = createObject("java","org.jsoup.Jsoup")>
<cfset testURL = 'https://en.wikipedia.org/wiki/List_of_countries_by_population_(United_Nations)'>
<cfset connectUrlSite = jsoupObj.connect(testURL).get() >
<cfset getUrlSiteBody = connectUrlSite.body() >
 <cfoutput>
    #connectUrlSite.title()#"
 </cfoutput>

<cfloop array="#getUrlSiteBody.select('img')#" index="i">
    <cfoutput>
        #i#
    </cfoutput>
</cfloop>
对于上面的维基百科网站URL,它运行良好,当我尝试对其他一些网站执行相同操作时,我会收到一条错误消息,如收到致命警报:握手失败 其他一些站点在jsoupObj.connecttestURL过程中抛出错误消息,如PKIX路径验证失败错误。我不确定我错过了哪一个,也不确定我会在哪一个地方得到关于此类错误的更多细节

使用http而不是https后的错误消息

每一个答案都是值得赞赏和有益的


提前谢谢

您遗漏了一些相关信息,如java版本,但一般来说,这些https错误是由JSoup无法与目标服务器建立安全连接造成的

收到致命警报:握手失败

我能够用Java1.8.0_72重现错误。启用调试,即-Djavax.net.debug=all,确认这是由错误引起的。将更新到1.8.0_141或更高版本解决了此问题

Java 1.8.0_144已修复

Java 1.8.0_72服务器名称缺失

获取URL时发生HTTP错误。状态=403

HTTP状态代码403表示请求被禁止。在这种情况下,请求被拒绝,因为该值为空。请参阅上的文档

请记住,有些网站故意拒绝此类请求,以防止屏幕被刮花。因此,首先检查网站的条款和条件,看看程序访问是否被禁止

PKIX路径验证失败


您需要提供更具体的导致错误的URL,但通常它表示缺少或无效证书的问题。另请参见具有不同选择器的每个站点。例如,新站点getUrlSiteBody没有img意味着它不会返回任何内容。请将您的问题发布到此处。@kannan.p我收到错误消息,如收到致命警报:握手失败和PKIX路径验证失败。我从jsoupObj.connectURl位置收到错误消息。不是来自getUrlSiteBody的错误消息。请选择“img”,我将在哪个位置获得有关此类错误的更多详细信息。请搜索您发布的2条错误消息。它们是jre错误,表明与特定站点建立安全连接时出现问题。@Ageax我进行了谷歌搜索,但运气不好,我无法获得确切的原因和确切的解决方案,因此我将其作为问题发布。并尝试在url中使用HTTP而不是HTTPS。以前我有一个Java版本1.8.0144,但它抛出了一个错误,现在我已经将我的java版本更新为1.8.0_221。现在它对两个错误抛出站点都可以正常工作。谢谢有趣的哪个站点抛出了PKIX验证错误?不知道这是否与删除中的某些证书有关。不管怎样,很高兴现在一切都好了!

<cfset jsoupObj = createObject("java","org.jsoup.Jsoup")>
<cfset testURL = 'https://en.wikipedia.org/wiki/List_of_countries_by_population_(United_Nations)'>
<cfset connectUrlSite = jsoupObj.connect(testURL).get() >
<cfset getUrlSiteBody = connectUrlSite.body() >
 <cfoutput>
    #connectUrlSite.title()#"
 </cfoutput>

<cfloop array="#getUrlSiteBody.select('img')#" index="i">
    <cfoutput>
        #i#
    </cfoutput>
</cfloop>
*** ClientHello, TLSv1.2
...
Extension signature_algorithms, signature_algorithms: ...
Extension server_name, server_name: [type=host_name (0), value=trycf.com]
***
*** ClientHello, TLSv1.2
...
Extension signature_algorithms, signature_algorithms: ...
***