【问题标题】:set IP and Port in proxy in c#在 C# 中设置代理中的 IP 和端口
【发布时间】:2017-07-13 11:35:31
【问题描述】:

我想用这个地址向 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;

【问题讨论】:

    标签: c# asp.net-mvc proxy request instagram


    【解决方案1】:

    你必须照顾好你想做的事。

    现在,您正在告诉您的程序通过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"); simple 表示您的代理服务器需要通过用户名和密码进行身份验证。 您的代理服务器是否允许匿名登录?如果是,那么你不需要它。

    但是(!)我不建议提供开放代理。

    我建议您将代码分成两部分:

    代理代码部分:

    在此处定义您的代理设置:

    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();
    

    WebRequestHttpClientHandler 本身。

    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
    

    【讨论】:

    • 我在网站主机服务器上没有任何代理设置。最终代码是什么
    • 我不知道,那里有一些免费的代理。谷歌可能会在这里为您提供帮助。问题是,为什么你需要一个。你有什么想要实现的吗?
    • 我在网站主机服务器上没有任何代理设置。最终代码是什么?
    • 好的,然后只需使用不带代理的WebRequest
    • instagram 有限制,一个 IP 只能连接 5 个用户。我的应用是用于关注和取消关注的 Instagram 机器人,所以我认为代理解决了这个限制
    猜你喜欢
    • 1970-01-01
    • 2020-02-04
    • 2018-09-24
    • 1970-01-01
    • 2013-10-06
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    相关资源
    最近更新 更多