当前位置: 首页 > 编程语言 > C#

如何在C#中登录网页并检索其内容?Share

时间:2023-04-10 13:32:57 C#

如何在C#中登录网页并检索其内容?如何登录网页并在C#中检索其内容?这取决于登录所需的内容。您可以使用webclient将登录凭据发送到服务器的登录页面(通过任何方法,GET或POST),但这不会保留cookie。有一种方法可以让webclient处理cookie,因此您可以将登录信息发布到服务器,然后使用相同的webclient请求您想要的页面,然后对该页面做任何您想做的事情。请参阅System.Net.WebClient,或了解更高级的要求System.Net.HttpWebRequest/System.Net.HttpWebResponse。至于实际应用这些:您必须研究要抓取的每个页面的html源代码,以便准确了解Http期望从中请求的内容。你怎么说“登录”?如果子文件夹在操作系统级别受到保护,并且浏览器在您访问该文件夹时弹出登录对话框,则需要在HttpWebRequest上设置Credentials属性。如果网站有自己的基于cookie的会员/登录系统,它必须首先使用HttpWebRequest响应登录表单。stringpostData="userid=ducon";postData+="&username=camarche";byte[]data=Encoding.ASCII.GetBytes(postData);WebRequestreq=WebRequest.Create(URL);req.Method="POST";req.ContentType="application/x-www-form-urlencoded";req.ContentLength=data.Length;流newStream=req.GetRequestStream();newStream.Write(data,0,data.Length);newStream.关闭();StreamReaderreader=newStreamReader(req.GetResponse().GetResponseStream(),System.Text.Encoding.GetEncoding("iso-8859-1"));字符串coco=reader.ReadToEnd();使用WebClient类。DimHtmlAsStringUsingClientAsNewSystem.Net.WebClient()Html=Client.DownloadString("http://www.google.com")EndUsing您可以使用WebClient对象中的构建,而不是自己创建请求.WebClientwc=newWebClient();wc.Credentials=newNetworkCredential("用户名","密码");字符串url="http://foo.com";尝试使用(Streamstream=wc.OpenRead(newUri(url))){使用(StreamReaderreader=newStreamReader(stream)){returnreader.ReadToEnd();}}}catch(WebExceptione){//错误处理}试试这个:以上是C#学习教程:你如何在C#中登录网页并检索其内容?如果分享的内容对你有用,需要进一步了解C#学习教程,希望你多多关注——publicstringGetContent(stringurl){using(System.Net.WebClientclient=newSystem.Net.WebClient()){returnclient.DownloadString(url);}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: