曲折连接到IBKR Web API V1.0,带有C#(403错误)

问题描述 投票:0回答:1

有人使用C#成功连接到IBKR Web API V1.0?任何有效的样本或有关为什么会发生这种情况的见解,都将不胜感激。 (PS:我不是在询问有关TWSIBGATEWAWEW)

在正式的documentation之后,使用Postman成功连接到IBKR Web API V1.0网关。如下图所示,Postman中不需要授权或其他标题: Postman Ibrk Web Api v1.0  connection Sample

,无论如何,当我尝试在C#控制台应用程序中提出相同的请求时,我会收到以下错误:

Error 403 - Access Denied
.

我找不到此API的单个工作C#示例,大多数可用的示例都在Python中。我尝试模仿C#中的Python代码(用于example),但我仍然遇到相同的错误。

这是我对同一邮递员呼叫的简单控制台申请:

static async Task Main() { HttpClientHandler handler = new HttpClientHandler(); handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true; HttpClient client = new HttpClient(handler); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = await client.GetAsync("https://localhost:5000/v1/api/iserver/auth/status"); string res = await response.Content.ReadAsStringAsync(); Console.WriteLine(res); }
    
c# api ibrokers
1个回答
0
投票
发现我必须将此标头添加到C#API调用:

request.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36");


因此,工作代码是:

static async Task Main() { HttpClientHandler handler = new HttpClientHandler(); handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true; HttpClient client = new HttpClient(handler); client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36"); HttpResponseMessage response = await client.GetAsync("https://localhost:5000/v1/api/iserver/auth/status"); string res = await response.Content.ReadAsStringAsync(); Console.WriteLine(res); }
没有关于IBRK C#API的文档。 🤦u200d♂️

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.