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

时间:2020-10-29 18:23:15

标签: c# .net-core interactive-brokers

我正在尝试使用新的IBKR客户端门户API。我已经编写了一个简单的控制台程序来访问API,但是会导致错误403-访问被拒绝。如果我尝试邮递员的相同请求,它似乎正在工作。我尝试使用提琴手查看控制台应用程序发送的请求,但这会导致单独的错误。如何诊断此问题?

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 = 571738634.47873.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);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

标头中缺少User-Agent。 client.DefaultRequestHeaders.Add("User-Agent", "Console");