日期:2014-05-17  浏览次数:20693 次

java获取网站验证码所遇到的问题?求大家解答
1:怎么获取浏览器缓存中的文件:
比如我使用了:

String url1 = "C:/Documents and Settings/Administrator/Local Settings/Temporary Internet Files/GetCode.asp";
        String url2="D:/Temporary Internet Files/11.jpg";
                    try {
copyFile(new File(url1), new File(url2));//这个就是io读写函数
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
            }


运行的时候总是提醒我文件未找到错误,我是在IE中工具--internet选择--。。文件  然后打开的缓存位置的,我使用我的电脑一层一层的找这个目录却是找不到,显示隐藏文件也不出Temporary Internet Files这个文件夹,GetCode.asp这个文件是一个图片的形式点击属性显示缓存名字为:GetCode[1].jpg换成这个也是不行的,试过很多办法就是行不通,不知道是不是这个文件夹的权限的问题??但是windows应该不会有linux这么多的规矩吧!!
于是换了另一种方式:


url = new URL("http://www.71tv.net.cn/include/GetCode.asp");
 HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
 //GET Request Define:    
          urlConnection.setRequestMethod("GET");
         // urlConnection.
      urlConnection.connect();           


但是由于这是一次新的请求验证码肯定是和网页显示的验证码是不一样的,我现在想做的就是网页中显示的验证码我能直接获取其图片,而不是新的!!可不可以有url请求可以直接在缓存中读取的,因为ie会缓存这个图片,程序可以直接请求这个缓存的吗??不知道!

希望大家能帮帮忙,或者可以发表自己的获取验证码的思路!谢啦

------解决方案--------------------
可以先分析生成的验证码的图片格式,然后浏览器不要打开,用程序访问生成的图片,直接下载下来再分析