在 c# 中设置代理中的 IP 和端口
set IP and Port in proxy in c#
我想用这个地址向 instagram 发送请求:"https://i.instagram.com"
我想为我发送的每个请求使用代理
哪个可以?
uri (""https://i.instagram.com:8080"") 可以吗?
如果第二个代码没问题那么 NetworkCredential
是什么
IWebProxy Proxya = System.Net.WebRequest.GetSystemWebProxy();
//to get default proxy settings
Proxya.Credentials = CredentialCache.DefaultNetworkCredentials;
Uri targetserver = new Uri("https://i.instagram.com:8080");
Uri proxyserver = Proxya.GetProxy(targetserver);
HttpClientHandler handler = new HttpClientHandler();
handler.Proxy = Proxya;
秒
IWebProxy Proxya = System.Net.WebRequest.GetSystemWebProxy();
//to get default proxy settings
Proxya.Credentials = new NetworkCredential("xxxx", "xxxx");
Uri targetserver = new Uri("https://i.instagram.com:8080");
Uri proxyserver = Proxya.GetProxy(targetserver);
HttpClientHandler handler = new HttpClientHandler();
handler.Proxy = Proxya;
你必须照顾好你想做的事。
现在,您告诉您的程序通过 GetSystemWebProxy()
使用本地定义的代理服务器。这意味着该程序使用您系统的代理设置中定义的代理。
之后你在这里告诉程序:
Uri targetserver = new Uri("https://i.instagram.com:8080");
Uri proxyserver = Proxya.GetProxy(targetserver);
您的代理服务器正在侦听 https://i.instagram.com:8080
。这应该是您的 WebRequest
.
的一部分
现在 Proxya.Credentials = new NetworkCredential("xxxx", "xxxx");
简单地说您的代理服务器需要通过用户名和密码进行身份验证。
您的代理服务器是否允许匿名登录?如果是,那么你不需要它。
但是(!)我不建议提供开放代理。
我建议您将代码分成两部分:
代理代码部分:
在此处定义您的代理设置:
string proxyAddress = "proxyAddress";
int proxyPort = 1337;
string proxyUser = "user";
string proxyPassword = "password";
IWebProxy proxy = new WebProxy(proxyAddress, proxyPort)
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};
或者,如果您不使用代理,则无需定义代理。
如果您使用的是系统设置中定义的代理,那么这就足够了:
IWebProxy proxy = WebRequest.GetSystemWebProxy();
WebRequest
或 HttpClientHandler
本身。
string instagramAddress = "https://i.instagram.com:8080";
Uri targetserver = new Uri(instagramAddress);
// HttpClientHandler handler = new HttpClientHandler();
WebRequest request = WebRequest.Create(targetserver);
// handler.Proxy = proxy;
request.Proxy = proxy; //Set the previously defined proxy here
我想用这个地址向 instagram 发送请求:"https://i.instagram.com" 我想为我发送的每个请求使用代理 哪个可以? uri (""https://i.instagram.com:8080"") 可以吗? 如果第二个代码没问题那么 NetworkCredential
是什么 IWebProxy Proxya = System.Net.WebRequest.GetSystemWebProxy();
//to get default proxy settings
Proxya.Credentials = CredentialCache.DefaultNetworkCredentials;
Uri targetserver = new Uri("https://i.instagram.com:8080");
Uri proxyserver = Proxya.GetProxy(targetserver);
HttpClientHandler handler = new HttpClientHandler();
handler.Proxy = Proxya;
秒
IWebProxy Proxya = System.Net.WebRequest.GetSystemWebProxy();
//to get default proxy settings
Proxya.Credentials = new NetworkCredential("xxxx", "xxxx");
Uri targetserver = new Uri("https://i.instagram.com:8080");
Uri proxyserver = Proxya.GetProxy(targetserver);
HttpClientHandler handler = new HttpClientHandler();
handler.Proxy = Proxya;
你必须照顾好你想做的事。
现在,您告诉您的程序通过 GetSystemWebProxy()
使用本地定义的代理服务器。这意味着该程序使用您系统的代理设置中定义的代理。
之后你在这里告诉程序:
Uri targetserver = new Uri("https://i.instagram.com:8080");
Uri proxyserver = Proxya.GetProxy(targetserver);
您的代理服务器正在侦听 https://i.instagram.com:8080
。这应该是您的 WebRequest
.
现在 Proxya.Credentials = new NetworkCredential("xxxx", "xxxx");
简单地说您的代理服务器需要通过用户名和密码进行身份验证。
您的代理服务器是否允许匿名登录?如果是,那么你不需要它。
但是(!)我不建议提供开放代理。
我建议您将代码分成两部分:
代理代码部分:
在此处定义您的代理设置:
string proxyAddress = "proxyAddress";
int proxyPort = 1337;
string proxyUser = "user";
string proxyPassword = "password";
IWebProxy proxy = new WebProxy(proxyAddress, proxyPort)
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};
或者,如果您不使用代理,则无需定义代理。 如果您使用的是系统设置中定义的代理,那么这就足够了:
IWebProxy proxy = WebRequest.GetSystemWebProxy();
WebRequest
或 HttpClientHandler
本身。
string instagramAddress = "https://i.instagram.com:8080";
Uri targetserver = new Uri(instagramAddress);
// HttpClientHandler handler = new HttpClientHandler();
WebRequest request = WebRequest.Create(targetserver);
// handler.Proxy = proxy;
request.Proxy = proxy; //Set the previously defined proxy here