【发布时间】:2019-06-11 23:29:52
【问题描述】:
在我的 C# 应用程序中,我尝试向防火墙外的外部公司发送 HTTP 请求。当我使用下面的代码时,我收到远程站点强制关闭连接的错误。我假设我在代理设置上做错了,但我不确定是什么。我们的代理不需要身份验证。
var content = new StringContent(JsonConvert.SerializeObject(obj), Encoding.UTF8, "application/json");
using (var handler = new HttpClientHandler()) {
handler.Proxy = new WebProxy("http://proxy.my.domain.com:911");
using (var client = new HttpClient(handler: handler, disposeHandler: false)) {
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "...");
var response = await client.PostAsync($"https://...", content);
我已经打印出发送的编码 JSON,如果我只是通过 curl 手动执行操作,请求会正常进行,所以我确信我的 URL、承载令牌和 JSON 都是正确的。
【问题讨论】:
-
你的意思是 curl 与代理?
-
是的。我设置了 http_proxy env var
-
您不需要为您的 HttpClientHandler 设置 UseProxy = true 吗?
-
啊!如此简单,@ZagNut。谢谢。
标签: .net http proxy dotnet-httpclient webproxy