一个小需求,获取远程页面的源码,主要用于抓数据。原来用的好好的,最近突然不能获取页面源码了,但是仍然可以用浏览器正常浏览。(文后附源码下载。^_^)
经过分析,原来用的代码如下:
查了下资料,原来需要加参数。
修正后的代码如下:
问题是解决了,后来再想了想,可以用WebClient先把页面download到本地临时文件,再读取文本内容。
代码如下:
结果不能获取源码。错误如下:
再想想,还有Webbrowser控件可以用啊。在WinFrom下只要在主线程前加[STAThread]即可。
在WebForm就麻烦些了,出现错误,线程不在单线程单元中,故无法实例化ActiveX控件“8856f961-340a-11d0-a96b-00c04fd705a2”
代码如下:
后来搜索N小时(N>=5)后,终于找到可行解决方案,在WebPage页面头部加入AspCompat="true"
即<%@ Page Language="C#" AspCompat="true"
******/>
MSDN给出的解释是:
在 ASP .NET 网页的 <%@Page> 标记中包含兼容性属性 aspcompat=true,如 <%@Page aspcompat=true Language=VB%>。使用此属性将强制网页以 STA 模式执行,从而确保您的组件可以继续正确运行。如果试图使用 STA 组件但没有指定此标记,运行时将会发生异常情况。
将此属性的值设置为 true 时,将允许网页调用 COM+ 1.0 组件,该组件需要访问非管理的 ASP 内置对象。可以通过 ObjectContext 对象进行访问。
如果将此标记的值设为 true,性能会稍微有些下降。建议只在确实需要时才这样做。
终于可以了! 不知道有没有更好的方法??
附:源码下载。
邀月注:
如果不能测试,请注意是否在域(AD)环境下,如果是! 请注意设置代理和防火墙
请参考:
http://dev.csdn.net/article/83914.shtm
或http://blog.csdn.net/downmoon/archive/2006/04/14/663337.aspx
或http://www.cnblogs.com/downmoon/archive/2007/12/29/1019701.html
分享到:
相关推荐
C#基于WebForm的学员管理系统源码.zip
b/s编程必须知道的页面传值方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传送相应的值,还有就是通过Server.Transfer方法来实现。另外Applcation及cookie有例子。
c#客户服务.net webform 源码
18个本人收集的ASP.NET WebForm项目源码,内部包含数据库文件及使用教程,仅供大家学习参考
在webform中实现三种从一个页面向另一个页面的传值方法。response.Redirect、session、server.Transfer.
webform中验证码的三种做法的小程序,通过它你可以学习到有关验证码的知识。
本网站使用的是.net Webform框架开发,主要功能是记录一些笔记使用,比如设备的维修笔记等等。数据库使用的是 sqlserver 2008 . 花费了很多业余时间做的。写的代码也比较乱,技术有限,代码比较直观,或者说就是简单...
C# .net webform 项目,运行后地址 无aspx 后缀。完整源码。
WebForm上进行拖拽源码 1、使用access数据库 2、使用SQL对DB进行Insert, update, delete 和read 3、使用javascript在一个web页面拖拽textbox 4、在页面和数据库中对textbox进行add, move和delete
WebForm实现消息推送源码 功能介绍: 假设A,B,C用户登陆,内存记录下已登录的用户的信息,这时A在所在的客户端(SendInfo.aspx)页面向B发消息,则在B所在客户端页面(SendInfo.aspx)将弹出消息框。 关键点有两个: 1...
这是WebForm实现消息推送的源码,使用的是vs2010
devexpress 14.2 webform官方汉化资源文件K421
VS2012 WebForm ReportView报表示例源码 带有数据库表结构, SQL脚本,新增8笔记录供测试使用,直接运行,加入你数据库中,源码就可以运行起来的。共同努力学习。分享成果。
源码其部署 平台:VS2010+,Sql Server, ASP.NET 配置更改:更改BPMS.WEB\XmlConfig\Config.xml下的数据库连接字符串 启动:VS IIS Express或建立IIS对应网站(主网站项目BPMS.WEB) 登录: 用户名/密码:admin/...
基于WebForm的操作Word文档实例配套源码
Ajax 实现在WebForm中拖动控件并即时在服务端保存状态数据 (Asp.net 2.0)\Ajax 实现在WebForm中拖动控件并即时在服务端保存状态数据 (Asp.net 2.0).rar
asp.net 人事管理系统(源码+数据库+webform).rar
Webform留言板源码 源码描述: 一、源码特点 简单留言本源码、留言发布登录、注册等功能,非常适合新手,欢迎下载 二、菜单功能 1、登录、注册 2、留言:留言浏览、发表评论 后台 1、管理留言 2、发表留言 ...
很多时候Windows程序也需要用到图文并茂的效果,也希望能类似webform中的htmleditor那样,这里提供一位高人写的控件,很好用。