我正在尝试使用C#将cURL下面的内容转换为HttpClient或类似内容。
curl --form "file=@C:\files\test.csv" https://company.com/api/v0/imports/api_name?token=123456asdfgh2345asdfg12345sdfgh2345sdfg123asd
我一直在尝试下面的操作,但是它给我扔了401。
状态码:401,原因短语:“未经授权”,版本:1.1,内容:System.Net.Http.StreamContent,标头:
代码如下:
private async Task<string> PostAttachment(byte[] data, Uri url, string contentType, string token)
{
HttpContent content = new ByteArrayContent(data);
content.Headers.ContentType = new MediaTypeHeaderValue(contentType);
using (var form = new MultipartFormDataContent())
{
form.Add(content);
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.PostAsync(url, form);
return await response.Content.ReadAsStringAsync(); }}}
这里叫
var uri = new Uri(@"https://company.com/api/v0/imports/api_name");
PostAttachment(Encoding.UTF8.GetBytes(csv), uri, "text/csv", token);`
我在这里尝试了许多其他类似的帖子,但是没有通过令牌进行身份验证。