vb在打开网页的时候出现了这样的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb在打开网页的时候出现了这样的问题相关的知识,希望对你有一定的参考价值。

我用的是webbrowser,直接用ie就能打开,但是用webbrowser就出现了那个图片的问题,有哪位高手能帮我解决一下,给高分哦
请问有没有大侠知道这个问题呢?

参考技术A 首先,与防火墙无关。HTTP错误500是服务端执行网页代码出错,如果是被防火墙拦了,对网页的请求根本到达不了服务端。

其次,真正的问题在于嵌入VB程序中的webbrowser控件和IE浏览器本身是有区别的。 功能上,权限上都有区别。它向网站服务端发送的信息也有区别(这是重点),建议用数据包监听工具,抓取它发出的数据包,查看头信息与IE区别在哪。

我以前也做过自动登录移动的程序,没什么问题。如果webbrowser真不行,你可以用InternetTransfer控件来与网站进行信息读取和发送。

补充:找出webbrowser和IE发送的数据有什么区别,这才是根本解决思路。如果是因为HTTP头信息不一样导致的问题,可以用InternetTransfer控件来伪造头信息。

经过测试,你这个网址用webbrowser可以正常访问,我的系统中装的是IE6,VB中的webbrowser不能把silent属性设置成false,弹出关于证书的提示就点击“是”,可以访问成功。
参考技术B 关闭你的防火墙试试。
如果关闭后没问题,那就是你的程序(运行的是编译过的EXE文件)或VB编程软件(在VB编程环境中运行)在第一次请求连接时,防火墙在弹出访问请求时,你不小心选择了阻止你自已的程序或VB软件访问网络,直接在防火墙设置中更改对你自己所程序或VB软件的限制即可。追问

我打开网页的流程是:1先打开登陆网页,2.点击登陆3.进入我想要的界面。 现在出现的问题是我打开了第一步,但是第二步点击了登陆之后显示那个图片中的错误。既然它能打开登陆网页,那就说明我的防火墙没有阻止vb,但是为什么就不能登陆进去呢?

追答

你将要访问的是HTTPS开头的网页吧!如果是,到网站上查查关于HTTPS安全验证及设置的相关资料,也许会找到解决办法。

追问

https://crmct.chnl.zj.chinamobile.com/ 这是我要访问的网址,我是菜鸟一族 不知道怎么弄啊,麻烦大师指点一下

参考技术C 服务器做了限制,阻止里你的连接,英文写的很清楚了。
做网站的没人喜欢有外挂或攻击,都要设一些限制,没封你半年就不错了。追问

但是不对啊,我在ie里面就能打开啊,虽然说是点击登陆后会出现什么网页不安全怎么的,但是我点击继续登陆之后就进入到我需要的界面了,但是用vb中的webbrowser就是在第二步和第三步就冒出了上述那个图片这是怎么回事啊?

追答

英文写的很清楚了。
自己看看就知道。
人家可以限制浏览器访问类型的。

追问

那现在怎么解决啊。这是关键

追答

无法解决,人家不让你用外挂。外挂是非法的。

追问

这不算是外挂啊,因为有人做出了这个软件,但是我为什么就不行呢?

追答

唉,我这个年纪普京早做总统了,人不能比啊。

参考技术D 把网页地址发上来看看追问

不好意思,因为这个是公司的网站,我不能透漏太多,希望你谅解。对了,我在点击登陆之后还出现一个错误说是什么网页不安全怎么的,于是我手动点击了继续浏览,然后就出现了上述图片中的错误,这是怎么回事呢?

javascript如何在窗体中控制弹出网页的数量?

用定时器定时弹出网页,当弹出的网页的数量够了的时候自动退出

是不是比如你限制只能打开3个窗体,如果你现在已经打开了3个,要等你关掉一个才能继续打开?
如果要实现这样,你可以把下面的代码复制过去,我下面要弹出的窗体是2.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body >
<input type="button" value="弹出窗口" onclick="openwin()"/>
<input type="hidden" name="n" id="n" value="0"/>
<script language="javascript">

function openwin()

var n=document.getElementById("n");
if(n.value<=2) //这里改成你要限制的窗体数量

var win=window.open('2.html','_blank','resizable=no');
n.value++;
document.body.innerHTML+=n.value;

function a()

document.write("\<script\>alert('sdf')\</script\>");


</script>
</body>
</html>

然后你在2.html的body中添加如下代码:
<script>window.onbeforeunload=function()window.opener.document.all.n.value-=1;</script>;
参考技术A 你是用 wndow.open 的吗?

重写 window.open

window._open=window.open
用 array 记录所打开的 window.open
window.open =function(url,........)
//检查数组长度

//是否需要打开
window._open(url,......)



如果是自己做的本页弹出框,就只需用 array记录就行了
参考技术B var count=0;
var max = 10;
var timer = window.setInterval(function()
//打开窗口
if(count++ == max )
window.clearInterval(timer);

,1000);

以上是关于vb在打开网页的时候出现了这样的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何解决VB中WebBrowser控件持续打开网页占用的内存

我用的是IE8浏览器,但每次都是打开网页时候总会出现一个对话框,然后就页面就死机了

如何解决VB中WebBrowser控件持续打开网页占用的内存

javascript如何在窗体中控制弹出网页的数量?

打开豆瓣网的时候,网页显示不正常,文字蓝字白底的。请问是啥原因。有图有真相。

VB中如何将WebBrowser打开的网页图片缩放显示?