繁体   English   中英

如何使用 http 代理连接到 https web?

[英]How do I connect to the https web with an http proxy?

我正在使用翻译,因为我是韩国人。 即使我不擅长,我也会感谢您的理解。

I would like to send a post request from c# to https web to http proxy using http proxy.

            HttpClient httpclient = null;
            proxy = "http://" + proxy;
            HttpClientHandler handler = new HttpClientHandler()
            {

                Proxy = new WebProxy(proxy),
                UseProxy = true,
            };

            httpclient = new HttpClient(handler);

这是我的 c# 代码

但我无法连接到 https web。

有没有办法使用 c# 中的 http 客户端模块产生与以下 python 代码相同的效果?

        proxy={ 'https' : 'http://' + input_proxy }
        resp=self.desktop.post(self.url,self.payload,proxies=proxy)

我建议您访问此链接: HttpClient and using a proxy

一、创建代理object

var proxy = new WebProxy
{
    Address = new Uri($"http://{proxyHost}:{proxyPort}"),
    BypassProxyOnLocal = false,
    UseDefaultCredentials = false,

    // *** These creds are given to the proxy server, not the web server ***
    Credentials = new NetworkCredential(
        userName: proxyUserName,
        password: proxyPassword)
};

现在创建一个使用该代理的客户端处理程序

var httpClientHandler = new HttpClientHandler
{
    Proxy = proxy,
};

如果您不需要通过网络服务器进行身份验证,请忽略此部分:

if (needServerAuthentication)
{
    httpClientHandler.PreAuthenticate = true;
    httpClientHandler.UseDefaultCredentials = false;

    // *** These creds are given to the web server, not the proxy server ***
    httpClientHandler.Credentials = new NetworkCredential(
        userName: serverUserName,
        password: serverPassword);
}

最后,创建HTTP客户端object

var client = new HttpClient(handler: httpClientHandler, disposeHandler: true);

如果您想代理使用,您还可以使用著名的 c# 库进行 RESTAPI 通信 RESTSharp

    var client = new RestClient("http://example.com")
    client.Proxy = new WebProxy("http://proxy.example.com")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM