C# winform程序,通过URL获取返回的HTML信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform程序,通过URL获取返回的HTML信息相关的知识,希望对你有一定的参考价值。

问题在于对方网页有如下JS代码
function reload()

document.location.reload();

setTimeout("reload()", 1001);
这个函数可能是限制频繁刷新而做的限制.
网上的方法我找了很多.效果都不好.
只是获取了对方网站设置的等待界面html.
网上的方法我看了很多.请大家不要复制粘贴了.请自重.

这段代码不是限制刷新而是每秒刷新一次页面,所以网上其实方法是对的,每次你进去对方都正在刷新页面,当然是一直都是等待界面了。你可以换个做法嘛 先把对方加载完成的页面保存到本地 再加载到WINFORM上追问

你能说的详细点吗?
这是我的代码

追答

这段代码本身是没有问题的,问题是你这里在1秒的时间内能把那个网站的页面打开不?从你的代码显示的结果看其实已经加载到onbeforeload事件后面的还没加载完图片是我这边的运行结果还有就是如果采用了框架式布局 应该也是接收不到内容的 因为框架式布局 页面其实是在里面嵌套了一个连接 比如你访问a.html页面上显示的内容实际是b.html上的这样用这个方法就只能永久的取到a.html中的等待信息了

追问

这是调用的写的代码,返回的东西.

追答

你把取得的值复制下来保存到一个html文件中然后打开看看是什么样子的我觉得应该是获取完全了的
另外 你用Encoding.Default吧 感觉这个页面代码被转换了有点象是XML的页面上就两行中文没其它东西

追问

我按照你说的做了.保存成HTML之后,打开就是个等待界面.
没有我想要的数据.

追答

有个办法 你在地址栏中输入网址之后 结果出来了 你在页面上 右键单击 然后查看源文件 看看这个是不是同程序返回的结果是一样的。如果一样那说明对方网站用了特殊的控件 ajax之类的东西。这样这种方法是获取不到的。你访问的是什么网页嘛,能联系到对方不?看看对方用的是什么方法写的才好解决。

参考技术A 这是一秒刷一次的JS代码。。。你可以return responseFromServer.replace("setTimeout(\"reload()\", 1001);","");追问

你没看懂我的问题.

c# winform 怎么获取控件

ToolStripMenuItem的click事件,怎么获取被右键点击打开菜单的控件
sender返回的是ToolStripMenuItem
求教!
比如是一个TextBox上点击的打开的
怎么获得TextBox的Name??

为什么总是得到的是父容器的name

参考技术A 属性里面有个叫fathercontrol的好像 太久没搞C#了
你去查查 是控件父类CONTROL类的属性 ,代表父控件
参考技术B 没怎么挺清楚啊
是不是这样 TextBox t = (TextBox)sender;
t.Name你要的名称
参考技术C 获取textBox空件输入的值 this.textbox1.text.trem(); 参考技术D string name = e.ClickedItem.Name; 第5个回答  2011-10-17 不废话上代码。
MessageBox.Show(this.ActiveControl.Name);
有需求继续HI我。追问

不行,取出的是Textbox的父控件的名称

追答

_SCREEN.ACTIVEFORM.ACTIVECONTROL.NAME
我查了下msdn。就是他。你再试试。
http://support.microsoft.com/kb/129425/zh-cn
我应该没看错。

本回答被提问者采纳

以上是关于C# winform程序,通过URL获取返回的HTML信息的主要内容,如果未能解决你的问题,请参考以下文章

C#调用WebService获取天气信息

C# winform程序中 如何获取和设置dataGridView1的垂直滚动条当前位置?

在C# WinForm应用程序中如何获取当前窗体中被激发的控件名称?

C#与IE交互

如何在 C# Winforms 的下拉列表控件中获取数据源名称

c#的winform怎么根据控件的名字获取控件属性?