Здравствуйте, Privalov, Вы писали:
P>Как я не раз отмечал, код, выдаваемый чатгпт, не работает.
Вы обратили внимание на то что он исправил заголовок — убрал Barrer? Или пробуете первую версию. Вот этот код:
| Скрытый текст |
| static async Task UploadAsync(string url, string filePath)
{
using (var httpClient = new HttpClient())
{
try
{
// Установка заголовка авторизации без схемы 'Bearer'
httpClient.DefaultRequestHeaders.Add("Authorization", "testkey");
using (var content = new MultipartFormDataContent("8dcf3906305b7f8")) // Устанавливаем границу вручную
{
var fileContent = new ByteArrayContent(File.ReadAllBytes(filePath));
fileContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf");
content.Add(fileContent, "file", Path.GetFileName(filePath));
// Отключаем заголовок 'Expect: 100-continue'
var request = new HttpRequestMessage(HttpMethod.Post, url)
{
Content = content
};
request.Headers.ExpectContinue = false;
var response = await httpClient.SendAsync(request);
response.EnsureSuccessStatusCode();
}
}
catch (HttpRequestException httpEx)
{
// Обработка исключения
}
}
}
|
| |
P>Если что, свои первые GET и POST я сделал где-то в 2003-2004 году. Всё руками. И про заголовки кое-что слышал. Часто там имеет значение каждый пробел и каждая кавычка.
Открываете Fiddler — тупо копируете заголовки запроса который работает и того, который не работает. Если не все заголовки скопировались — еще раз даете ему на доработку.