获取本机公网IP地址示例攻略
简介
在.NET中获取本机公网IP地址可以通过使用第三方API或者直接访问网络接口来实现。下面将提供两个示例来说明如何获取本机公网IP地址。
示例一:使用第三方API
- 首先,我们需要选择一个可靠的第三方API来获取公网IP地址。一个常用的选择是ipify,它提供了一个简单的HTTP接口来获取公网IP地址。
- 在.NET中,我们可以使用
HttpClient
类来发送HTTP请求并获取响应。首先,我们需要在项目中添加对System.Net.Http
命名空间的引用。 - 创建一个
HttpClient
实例,并使用GetAsync
方法发送GET请求到ipify的API地址:https://api.ipify.org?format=json
。 - 使用
await
关键字等待响应,并使用Content.ReadAsStringAsync
方法将响应内容读取为字符串。 - 解析响应字符串,提取出公网IP地址。
以下是示例代码:
using System;
using System.Net.Http;
using System.Threading.Tasks;
public class Program
{
public static async Task Main()
{
using (HttpClient client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(\"https://api.ipify.org?format=json\");
string responseContent = await response.Content.ReadAsStringAsync();
// 解析响应字符串,提取出公网IP地址
string publicIP = responseContent.Trim('\"');
Console.WriteLine(\"Public IP Address: \" + publicIP);
}
}
}
示例二:直接访问网络接口
- 在.NET中,我们可以使用
WebRequest
类来发送HTTP请求并获取响应。首先,我们需要在项目中添加对System.Net
命名空间的引用。 - 创建一个
WebRequest
实例,并使用Create
方法创建一个HttpWebRequest
对象。 - 设置
HttpWebRequest
的Method
属性为\"GET\",并设置RequestUri
为一个可以返回公网IP地址的网络接口地址,例如https://api.ipify.org
。 - 使用
GetResponse
方法发送请求并获取响应。 - 使用
GetResponseStream
方法获取响应流,并使用StreamReader
类读取流中的内容。 - 解析响应字符串,提取出公网IP地址。
以下是示例代码:
using System;
using System.IO;
using System.Net;
public class Program
{
public static void Main()
{
WebRequest request = WebRequest.Create(\"https://api.ipify.org\");
request.Method = \"GET\";
using (WebResponse response = request.GetResponse())
using (Stream responseStream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(responseStream))
{
string responseContent = reader.ReadToEnd();
// 解析响应字符串,提取出公网IP地址
string publicIP = responseContent.Trim();
Console.WriteLine(\"Public IP Address: \" + publicIP);
}
}
}
以上是两个示例,你可以根据自己的需求选择其中一个来获取本机公网IP地址。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:.net获取本机公网IP地址示例 - Python技术站