C#使用WebRequest抓取网页代码
发布时间:2020-12-15 17:59:18 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 /// summary/// Get a response as a string,given a uri string./// /summary/// param name="uriArg"Specifies a uri such as "http://www.google.c
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 /// <summary> /// Get a response as a string,given a uri string. /// </summary> /// <param name="uriArg">Specifies a uri such as "http://www.google.com" or @"file://X:dirmyFile.html"</param> /// <returns>web response as a string.</returns> /// <example> /// try /// { /// string uri = "http://www.google.zzz"; // note bad uri with zzz to exercise exception. /// string s = GetWebPageResponse( uri ); /// Console.WriteLine( s ); /// } /// catch ( WebException ex ) /// { /// // wex.Message could be something like: The remote server returned an error: (404) Not Found. /// string s = string.Format( "Request: {0}nResult: {1}",uri,ex.Message ); /// Console.WriteLine( s ); /// } /// </example> static string GetWebPageResponse(string uriArg) { Stream responseStream = WebRequest.Create(uriArg).GetResponse().GetResponseStream(); StreamReader reader = new StreamReader(responseStream); return reader.ReadToEnd(); } /// <summary> /// Similar to GetWebPageResponse(string uriArg),but uses a user/pw to log in. /// </summary> /// <param name="uriArg">e.g. "http://192.168.2.1"</param> /// <param name="userArg">e.g. "root"</param> /// <param name="pwArg">e.g. "admin"</param> /// <returns>string containing the http response.</returns> /// <example> /// // Example to get a response with DHCP table from my LinkSys router. /// string s = GetWebPageResponse( "http://192.168.2.1/DHCPTable.htm","root","admin" ); /// </example> static string GetWebPageResponse(string uriArg,string userArg,string pwArg) { Uri uri = new Uri(uriArg); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri); CredentialCache creds = new CredentialCache(); // See http://msdn.microsoft.com/en-us/library/system.directoryservices.protocols.authtype.aspx for list of types. const string authType = "basic"; creds.Add(uri,authType,new NetworkCredential(userArg,pwArg)); req.PreAuthenticate = true; req.Credentials = creds.GetCredential(uri,authType); Stream responseStream = req.GetResponse().GetResponseStream(); StreamReader reader = new StreamReader(responseStream); return reader.ReadToEnd(); } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c – qRegisterMetaType – 类,类*或两者
- ruby-on-rails – 无法找到源关联:Rails 3.2中模型关系中的
- vue中使用axios发送ajax请求,获取数据
- xml – 如何在复杂类型的xsd文件中使用唯一标记?
- 正则表达式 – 如何检查Laravel Blade中的当前路线是否与模
- oracle在线重定义
- React-NativeVIP视频
- Postgresql 9.3:如何使用带有多个索引的交叉表?
- objective-c – 检测UIWebView完成在iPad上播放YouTube视频
- postgresql – 如何使用pgAdmin 3将数据从CSV导入Postgres表