400-692-3698

帮助文档

七大主流语言SDK及示例

可复制供用户参考
      当前位置: 首页 > SDK 示例

如何在C#中使用代理示例

using System;
using System.Net;
using System.IO;

class Program
{
    static void Main()
    {
        string api = ""; // 这里填写你购买后生成的API网址,如果没有或者不会,请找客服  如:http://www.soyunip.com/api?ddbh=s8349453653

        try
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(api);
            request.Method = "GET";
            request.Timeout = 10000; // 超时设置为10秒

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                if (response.StatusCode != HttpStatusCode.OK)
                {
                    throw new Exception("Failed to get IP address: HTTP error code : " + (int)response.StatusCode);
                }

                using (Stream stream = response.GetResponseStream())
                using (StreamReader reader = new StreamReader(stream))
                {
                    string ip = reader.ReadToEnd().Trim(); // 返回的内容如:125.26.21.154:13456

                    // 如果返回是多行多个代理信息的,需要解析一下
                    string[] ips = ip.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); // 这里返回多行多个代理IP,默认是以\r\n分隔符的

                    if (ips.Length == 0 || string.IsNullOrEmpty(ips[0]))
                    {
                        throw new Exception("No valid IP address found in response");
                    }

                    string myip = ips[0]; // 这里取第一个代理IP 实际应用时,根据需要自己选择

                    // 代理服务器
                    string ipport = $"http://{myip}";

                    // 下面举例是你要访问的网站链接
                    string url = "http://myip.ipip.net";

                    WebRequest targetRequest = WebRequest.Create(url);
                    targetRequest.Proxy = new WebProxy(ipport);

                    using (HttpWebResponse targetResponse = (HttpWebResponse)targetRequest.GetResponse())
                    {
                        if (targetResponse.StatusCode != HttpStatusCode.OK)
                        {
                            throw new Exception("Failed to fetch data from target site: HTTP error code : " + (int)targetResponse.StatusCode);
                        }

                        using (Stream targetStream = targetResponse.GetResponseStream())
                        using (StreamReader targetReader = new StreamReader(targetStream))
                        {
                            string result = targetReader.ReadToEnd();
                            Console.WriteLine(result); // 打印返回的内容
                        }
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Console.Error.WriteLine("An error occurred: " + ex.Message);
        }
    }
}



654888147
在线时间
8:00-24:00
扫码加客服微信
400-692-3698
反馈类型
反馈内容
联系人姓名
联系电话