代码示例--C#

发布时间:2022-06-07 23:20

此代码适用.NET 5.0 and .NET Core

此示例通过WebProxy进行代理设置,并通过HttpWebResquest发送请求。

代码

下面的代码需要用到命名空间 System.NetSystem.TextSystem.IO,请先引入命名空间

此代码以http和https代理为例

using System;

using System.Net;

using System.Text;

using System.IO;

namespace proxy_demo

{

class Program

{

​ static void Main(string[] args)

​ {

​ sendRequest("https://myip.ipip.net", SetProxy());

​ }

​ private static void sendRequest(String urlStr, WebProxy proxyObj)

​ {

​ try

​ {

​ // 设置Http/https请求

​ HttpWebRequest httpRequest = (HttpWebRequest)HttpWebRequest.Create(urlStr);

​ httpRequest.Method = "GET";

​ httpRequest.Credentials = CredentialCache.DefaultCredentials;

​ // 在发起HTTP请求前将proxyObj赋值给HttpWebRequest的Proxy属性

​ httpRequest.Proxy = proxyObj;

​ // 抓取响应返回的页面数据

​ HttpWebResponse res = (HttpWebResponse)httpRequest.GetResponse();

​ StreamReader reader = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8);

​ string content = reader.ReadToEnd();

​ reader.Close();

​ Console.WriteLine("{0}", content);

​ }

​ catch (Exception e)

​ {

​ Console.WriteLine(e.ToString());

​ }

​ }

​ private static WebProxy SetProxy()

​ {

​ WebProxy proxy = new WebProxy();

​ try

​ {

​ // 设置代理属性WebProxy

​ string server = @""; //代理IP的服务器地址

​ string proxyUser = @"4B2AF3A6"; //帐号

​ string proxyPass = @"D95133B9A167"; //密码

​ proxy.Address = new Uri(string.Format("http://{0}/",server));

​ proxy.Credentials = new System.Net.NetworkCredential(proxyUser, proxyPass); //如使用白名单方式连接,可注释此行

​ Console.WriteLine("代理服务器连接成功:{0}", server);

​ return proxy;

​ }

​ catch (NullReferenceException e)

​ {

​ Console.WriteLine("代理服务器连接失败,请检查服务器地址、用户名、密码是否有误。" e.ToString());

​ }

​ return proxy;

​ }

}

}
本文导读

客户热线:1830934534