[英]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.