Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从控制台应用发出POST请求将导致错误403-访问被拒绝_C#_.net Core_Interactive Brokers - Fatal编程技术网

C# 从控制台应用发出POST请求将导致错误403-访问被拒绝

C# 从控制台应用发出POST请求将导致错误403-访问被拒绝,c#,.net-core,interactive-brokers,C#,.net Core,Interactive Brokers,我正在尝试使用新的IBKR客户端门户API。我已经编写了一个简单的控制台程序来访问API,但它导致错误403-拒绝访问。如果我试着从邮递员那里得到同样的请求,它似乎会起作用。我尝试使用fiddler查看console应用程序发送的请求,但这会导致另一个错误。如何诊断此问题 using System; using System.Net.Http; using System.Threading.Tasks; namespace ConsoleApp2 { class Program

我正在尝试使用新的IBKR客户端门户API。我已经编写了一个简单的控制台程序来访问API,但它导致错误403-拒绝访问。如果我试着从邮递员那里得到同样的请求,它似乎会起作用。我尝试使用fiddler查看console应用程序发送的请求,但这会导致另一个错误。如何诊断此问题

using System;
using System.Net.Http;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static async Task Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            var baseURL = "https://localhost:5000/v1/portal";
            HttpClientHandler handler = new HttpClientHandler();
            handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
            var client = new HttpClient(handler);
            client.DefaultRequestHeaders.Add("Cookie", "ibkr.il = 123456789.123456.0000");
            client.DefaultRequestHeaders.Add("AcceptEncoding", "gzip, deflate, br");
            var response = await client.GetAsync(baseURL + "/sso/validate");
            string result = response.Content.ReadAsStringAsync().Result;
            Console.WriteLine(result);
        }
    }
}

标头中缺少用户代理<代码>客户端.DefaultRequestHeaders.Add(“用户代理”,“控制台”)

您尝试自己实现
服务器CertificateCustomValidationCallback
,因此您可以在那里放置一个断点以查看它是否命中。除此之外,请比较来自Postman和code的标题。非常感谢!你帮我省下了很多寻找解决方案的时间。。。我花了两天的时间想知道为什么是403,它没有任何意义。你救了我的命,我对他们糟糕的文档很失望,这个标题应该是先决条件的一部分。再次感谢,现在我可以继续我的算法了。