如何抓取需要用户名和密码的网页??

KEYMEN 2004-10-27 11:12:28
利用httpwebrequest和httpwebresponse抓取网页时,如果网站要求输入用户名和密码怎么办啊!??
谁能给个完整的代码!!
...全文
376 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
trnbo 2004-10-27
下面以网易的注册页面为例说明在C#中向服务器POST数据的实现方法。

private void button2_Click(object sender, System.EventArgs e)
{
Uri uri = new Uri("http://reg4.163.com/Register.jsp");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.UserAgent = "Mozilla/4.0";
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.AllowAutoRedirect = true;
byte[] str = System.Text.Encoding.ASCII.GetBytes("username=admin");
request.ContentLength = str.Length;
Stream temps = request.GetRequestStream();
temps.Write(str,0,str.Length);
HttpWebResponse resp…………
回复
trnbo 2004-10-27
http://www.24cis.com/edu/showart.asp?art_id=75&cat_id=6
回复
KEYMEN 2004-10-27
大象的网页好像打不开啊!
回复
xiaohutushen 2004-10-27
up
回复
CMIC 2004-10-27
http://www.exun.org/2004/9-24/14001370671.asp
回复
yellowhwb 2004-10-27
设置HttpWebRequest 对象的验证属性:
m_objHttpRequest.PreAuthenticate=true;
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri(StartURL),"Basic",new NetworkCredential(m_strSiteUid,Password));
m_objHttpRequest.Credentials=myCache;
回复
KEYMEN 2004-10-27
好像还有点问题,我抓的网站,只有一访问,就弹出个对话框,象ftp那样,要输入用户名和密码,我试了一下上面的方法,老是报错:

未处理的“System.Net.ProtocolViolationException”类型的异常出现在 system.dll 中。
其他信息: 无法发送具有此谓词类型的内容正文。
回复
KEYMEN 2004-10-27
谢谢楼上的,我先试一试!
回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2004-10-27 11:12
社区公告

让您成为最强悍的C#开发者