C#访问https链接
|
freeflydom
2025年9月2日 11:27
本文热度 172
|
方案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/2 11:27:59 编辑过