急求、万分感激——如何给内嵌浏览器(SWT的Browser)设置代理

ljyadbefgh3 2014-12-21 04:59:01
近期接到的项目,客户要求能内置浏览器到程序中(客户登录后才能打开),并且该浏览器要实现代理功能,即使用客户提供的代理服务器来访问相关网站;当关闭应用程序的时候,浏览器也要自动关闭,同时代理功能取消。
首先当然是使用JAVA的代理功能,使用

System.setProperty("http.proxyHost", "202.106.155.208");
//设置代理服务器端口号
System.setProperty("http.proxyPort", "8080");
System.setProperty("http.proxySet", "true");

这样设置后,即可实现代理
然后我当然是使用了JAVA自带的JEditorPane工具,该工具在访问网址时是通过上述设置的代理服务器去访问的,只是可惜对CSS和JS的效果实在太差,可以说完全没用

JEditorPane jep=new JEditorPane();
jep.setContentType("text/html");
jep.setEditable(false);
jep.setPage("http://www.baidu.com");

之后我分别使用了网上推荐的JDIC的浏览器,以及SWT的Browser浏览器,访问效果是不错,但是在访问网址时根本就不通过代理服务器,上网查了很多资料,又查阅了API文档,都没发现类似解决方式,现在就卡在这里了,也可以说是卡在了技术难点的最后一步,不得已,只有上来请教大神们,非常感激
PS:我曾试过将URL走代理通过读取输入输出流来获得网页内容,再放到浏览器中(Browser),但是这样的效果并不好,常出现部分图片、JS效果无效,要知道浏览器直接访问网址获得内容是不会出现问题的,而且侦听客户点击链接、提交表单的难度和出错几率也较高,故只能放弃该方法。也就是最好的效果,还是让浏览器能够自己走代理去访问网址!
...全文
287 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gu_aixiaobai 2016-08-11
  • 打赏
  • 举报
回复
你怎么解决的 我正在遇到这个问题
ljyadbefgh3 2014-12-22
  • 打赏
  • 举报
回复
引用 1 楼 qu1210 的回复:
http://blog.csdn.net/hemingwang0902/article/details/4405310
谢谢,不过这个我会,我就是要问下有办法可以给browser设置代理不(ie的),火狐貌似可以,但是需要预安装,客户希望是下载下来直接可以用的

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧