【发布时间】:2021-05-29 22:30:34
【问题描述】:
我正在尝试通过 C# 从 Etoro(交易应用程序)向公共 API 发出请求。
如果我在浏览器中调用 URI 一切正常。例如:
https://www.etoro.com/sapi/trade-data-real/live/public/portfolios?format=json&cid=3180395&client_request_id=8ae032db-7642-4b48-9628-b635a29aefba
但如果我运行我的程序,有时它可以工作,但大多数时候我收到“错误 512”。
System.Net.Http.HttpRequestException: "Der Antwortstatuscode gibt keinen Erfolg an: 512 (Unknown Code)."
我的代码中是否有错误,或者是用户代理的问题,还是其他问题?有什么想法吗?
{
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace cUrl
{
class Program
{
public static string responseBody { get; set; }
static async Task Main(string[] args)
{
Guid uuid = Guid.NewGuid();
var client = new HttpClient();
client.BaseAddress = new Uri("https://www.etoro.com/sapi/trade-data-real/live/public/portfolios?format=json&cid=3180395" + "&client_request_id=" + uuid);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
responseBody = await client.GetStringAsync(client.BaseAddress);
Console.WriteLine(responseBody);
Console.ReadLine();
}
}
}
【问题讨论】:
-
您没有处理您的 HttpClient,并且您将 BaseAddress 误认为是完整的 Uri。
-
请您告诉我应该如何使用该命令?我尝试了一些变体,但总是出现同样的错误:(
标签: c# api httpclient