Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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
Java JSOUP403错误。简单的网页很好用_Java_Php_Android_Jsoup - Fatal编程技术网

Java JSOUP403错误。简单的网页很好用

Java JSOUP403错误。简单的网页很好用,java,php,android,jsoup,Java,Php,Android,Jsoup,我看过其他类似的帖子,但没有明显的跳出。如果我错过了,我相信有人会给我指出正确的方向 问题是我的应用程序中的这段代码过去可以工作,但现在不再工作了。所以我假设网站上发生了一些变化。在同一个应用程序中,我对其他三个网站使用了完全相同的代码,它们运行良好。LOGCAT显示以下错误: org.jsoup.HttpStatusException:获取URL时出现HTTP错误。状态=403,URL= 我制作了这个简单的网页,我可以从本地驱动器启动它,它可以工作(如果您自己尝试,您需要将日期和时间调整为当前

我看过其他类似的帖子,但没有明显的跳出。如果我错过了,我相信有人会给我指出正确的方向

问题是我的应用程序中的这段代码过去可以工作,但现在不再工作了。所以我假设网站上发生了一些变化。在同一个应用程序中,我对其他三个网站使用了完全相同的代码,它们运行良好。LOGCAT显示以下错误:

org.jsoup.HttpStatusException:获取URL时出现HTTP错误。状态=403,URL=

我制作了这个简单的网页,我可以从本地驱动器启动它,它可以工作(如果您自己尝试,您需要将日期和时间调整为当前UTC时间):

想法

编辑#1: 当我使用我的迷你网页时,我看到的标题是:

请求头 接受:text/html、application/xhtml+xml、application/xml;q=0.9,图像/webp,/;q=0.8

接受编码:gzip,deflate

接受语言:en-US,en;q=0.8,en-AU;q=0.6

缓存控制:最大年龄=0

连接:保持活力

内容长度:180

内容类型:application/x-www-form-urlencoded

主持人:notamweb.aviation-civile.gouv.fr

来源:空

升级不安全的请求:1

用户代理:Mozilla/5.0(WindowsNT6.1; WOW64)AppleWebKit/537.36(KHTML,类似壁虎)Chrome/47.0.2526.111 Safari/537.36

表单数据

AERO_选项卡_AERO[0]:KLAX

航空日期:2016/01/25

航空日期:11:21

布雷苏尔特:是的

模式设置:完成

埃罗杜瑞:96

航空规则:1

航空厘米全球定位系统:2

航空公司信息公司:1

帮助想法来自:


解决此问题的一种方法是在桌面浏览器中加载该页面,并查看开发人员工具的“网络”选项卡,查看它到底发送了什么,尤其是cookie和标题。我的猜测是,你需要发送其他/额外的cookie,或者可能是一个Referer头,因为网站可能正在检查这一点,然后在你的请求中发送相同或类似的头/cookie


问题解决了。问题是仿真器时钟错误,导致网页拒绝请求。

您使用哪种类型的授权?Nouman您的第一个链接说使用useragent,您将看到我已经在这样做了。第二个链接是关于访问一个我不想访问的目录。解决这个问题的一种方法是在桌面浏览器中加载页面,并查看开发人员工具的“网络”选项卡,查看它到底发送了什么,尤其是cookie和标题。我的猜测是,你需要发送其他/额外的cookie,或者可能是一个Referer头,因为网站可能正在检查这一点,然后在你的请求中发送相同或类似的头/cookie。
<form method="post" action="http://notamweb.aviation-civile.gouv.fr/Script/IHM/Bul_Aerodrome.php">

 Enter aerodrome ID(s)

 <input type="text" name="AERO_Tab_Aero[0]"> 

        <input type="hidden" name="AERO_Date_DATE" value="2016/01/25">
        <input type="hidden" name="AERO_Date_HEURE" value="07:12">

        <input type="hidden" name="bResultat" value="true">
        <input type="hidden" name="ModeAffichage" value="COMPLET">

        <input type="hidden" name="AERO_Duree" value="96">
        <input type="hidden" name="AERO_CM_REGLE" value="1">
        <input type="hidden" name="AERO_CM_GPS" value="2">
        <input type="hidden" name="AERO_CM_INFO_COMP" value="1"> 
     <p>
        <input type="Submit" value="Get the bulletins">
     </p>

</form>
doc = Jsoup.connect("http://notamweb.aviation-civile.gouv.fr/Script/IHM/Bul_Aerodrome.php")
                    .data("bResultat", "true").data("ModeAffichage", "COMPLET")
                    .data("AERO_Date_DATE", date).data("AERO_Date_HEURE", time).data("AERO_Duree", "96").data("AERO_CM_REGLE", "1").data("AERO_CM_GPS", "2")
                    .data("AERO_CM_INFO_COMP", "1").data("AERO_Tab_Aero[0]", params[0].substring(0, params[0].length() - 1))
                    .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36")
                    .timeout(6000).post();