Я застрял на том, как преобразовать код python в c#. Я пытался много раз, но не получил ответ API. Сначала я попробовал это
Мой python код
import sys
import base64
import requests
import json
file_path = 'limit.jpg'
image_uri = "data:image/jpg;base64," + base64.b64encode(open(file_path, "rb").read()).decode()
r = requests.post("https://api",
data=json.dumps({'src': image_uri}),
headers={"app_id": "YOUR_APP_ID", "app_key": "YOUR_APP_KEY",
"Content-type": "application/json"})
print(json.dumps(json.loads(r.text), indent=4, sort_keys=True))
Первая попытка
using (var httpClient = new HttpClient())
{
using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://api."))
{
request.Headers.TryAddWithoutValidation("app_id", id);
request.Headers.TryAddWithoutValidation("app_key",apiKey);
request.Content = new StringContent("{ \"src\": \"data:image/jpeg;base64",PathToImage);
request.Content.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/json");
var response = httpClient.SendAsync(request).Result;
Console.WriteLine( await response.Content.ReadAsStringAsync());
}
}
Но ответ API не повезло: {"error": "SyntaxError: неожиданный конец ввода JSON", "error_info": {"id": "json_syntax" , "message": "SyntaxError: Неожиданный конец ввода JSON"}} Я также пытался конвертировать cURL -
curl -X POST https://api \
-H 'app_id: YOUR_APP_ID' \
-H 'app_key: YOUR_APP_KEY' \
-H 'Content-Type: application/json' \
--data '{ "src": "data:image/jpeg;base64,'$(base64 -i limit.jpg)'" }'
Но снова не повезло. Может, я не прав с convertbase64 из изображения .