C#访问https链接的三种方法:WebClient、HttpWebRequest、HttpClient
				
									
					
					
						|  | 
							freeflydom 2025年9月2日 11:27
								本文热度 1659 | 
					
				 
				方案1:使用WebClient(最简单)
using System.Net;
public string GetUrlContent(string url)
{
    using (WebClient client = new WebClient())
    {
        // 设置编码(根据实际需要)
        client.Encoding = Encoding.UTF8;
        
        // 执行GET请求
        return client.DownloadString(url);
    }
}
// 调用示例
string result = GetUrlContent("https://example.com");
方案2:使用HttpWebRequest(更灵活)
using System.Net;
using System.IO;
public string GetUrlContent(string url)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
                                       | SecurityProtocolType.Tls
                                       | (SecurityProtocolType)0x300 //Tls11
                                       | (SecurityProtocolType)0xC00; //Tls12
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    request.Method = "GET";
    
    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    using (Stream stream = response.GetResponseStream())
    using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
    {
        return reader.ReadToEnd();
    }
}
方案3:使用HttpClient(需NuGet包)
如果可以添加NuGet包引用,这是更现代的写法:
首先安装Microsoft.Net.Http NuGet包
然后使用以下代码:
using System.Net.Http;
public async Task<string> GetUrlContentAsync(string url)
{
    using (HttpClient client = new HttpClient())
    {
        return await client.GetStringAsync(url);
    }
}
// 调用示例(需在async方法中调用)
string result = await GetUrlContentAsync("https://example.com");
该文章在 2025/9/3 9:32:46 编辑过