Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.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
Javascript 我正在尝试使用Jsoup获取验证码的src_Javascript_Html_Asp.net_Jsoup_Captcha - Fatal编程技术网

Javascript 我正在尝试使用Jsoup获取验证码的src

Javascript 我正在尝试使用Jsoup获取验证码的src,javascript,html,asp.net,jsoup,captcha,Javascript,Html,Asp.net,Jsoup,Captcha,我正在尝试使用jsoup从这个网站获取验证码的src URL。问题是当我在chrome中使用inspect时,它会显示验证码的URL,但当我在android项目中使用jsoup访问它时,返回的html不包含任何包含验证码图像链接的img字段和src。它有点隐藏在html中,但仅在我使用chrome中的inspect时显示。我想获取url,以便下载验证码并在imageview中显示。这是该网站的链接 这是html,你可以看到它没有显示img标签 这是我到目前为止写的代码 private c

我正在尝试使用jsoup从这个网站获取验证码的src URL。问题是当我在chrome中使用inspect时,它会显示验证码的URL,但当我在android项目中使用jsoup访问它时,返回的html不包含任何包含验证码图像链接的img字段和src。它有点隐藏在html中,但仅在我使用chrome中的inspect时显示。我想获取url,以便下载验证码并在imageview中显示。这是该网站的链接

这是html,你可以看到它没有显示img标签

这是我到目前为止写的代码

 private class forgetpassword extends AsyncTask<Void, Void, Void> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected Void doInBackground(Void... voids) {
            try {
                Document document = Jsoup.connect("https://cms.bahria.edu.pk/Logins/Student/ForgotPassword.aspx").get();


                Element img = document.select("div#AspireCaptcha").first();

                if (img == null) {
                    throw new RuntimeException("Unable to locate image in ");
                }
                String imgSrc = img.absUrl("src");

                bitmaps = BitmapFactory.decodeStream((InputStream) new URL(imgSrc).getContent());


            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            super.onPostExecute(aVoid);
            imageView.setImageBitmap(bitmaps);
        }
    }
私有类forgetpassword扩展异步任务{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
}
@凌驾
受保护的空位背景(空位…空位){
试一试{
Document Document=Jsoup.connect(“https://cms.bahria.edu.pk/Logins/Student/ForgotPassword.aspx).get();
元素img=document.select(“div#AspireCaptcha”).first();
如果(img==null){
抛出新的RuntimeException(“无法在中定位映像”);
}
字符串imgSrc=img.absUrl(“src”);
bitmaps=BitmapFactory.decodeStream((InputStream)新URL(imgSrc.getContent());
}捕获(例外e){
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onPostExecute(void避免){
super.onPostExecute(避免);
设置图像位图(位图);
}
}

如果你们能指导我解决这个问题,我会很有帮助的。我真的被这个问题困扰了好几天。

它很可能是在页面加载后使用javascript呈现的。您需要在服务器上的无头浏览器中加载页面才能执行此操作it@charlietfl还有别的办法吗?我没有服务器我只有访问此网站的权限。没有意义…你正在服务器上运行asp代码。在这里,您可以安装一个headless browser可能的副本,使用一个启用了JavaScript的WebView(作为一个headless browser,而不实际显示页面)和一个JavaScriptInterface,在处理JavaScript后接收html源代码,然后用jsoup解析结果。比较: