c# - 从控制台应用程序发出 POST 请求会导致错误 403 - 访问被拒绝
问题描述
我正在尝试使用新的 IBKR 客户端 API。我编写了一个简单的控制台程序来访问 API,但它导致错误 403 - 访问被拒绝。如果我尝试来自 Postman 的相同请求,它似乎正在工作。我尝试使用 fiddler 查看控制台应用程序发送的请求,但这会导致单独的错误。我该如何诊断这个问题?
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);
}
}
}
解决方案
标头中缺少 User-Agent。 client.DefaultRequestHeaders.Add("User-Agent", "Console");
推荐阅读
- html - graphviz 中的展开/折叠表格
- python - 在 Python 或 PostgreSQL 中操作数据是否更快、内存效率更高?
- regex - 正则表达式选择第一个和最后一个引号字符
- php - symfony make:entity 在新项目上崩溃
- java - 为什么 ArrayBlockingQueue 构造函数使用 ReentrantLock 来获得可见性?
- javascript - 如何获得对我的 meme 命令的评论和赞成的数量?不和谐.js
- numpy - 将 VGG16 形状输出从 4096 个特征转换为 2048 个
- javascript - 有没有像 onChange 这样的函数也会监听 JavaScript 的变化?
- javascript - 如何让我的按钮用 javascript 做某事
- python - 合并 DataFrame 时的空结果