加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读