Мы решаем перенести наш API на сервер с SSL, до этого все работало нормально, но поскольку мы перешли на сервер с SSL, вызовы с content-type: multipart / form-data просто не работают (403 запрещено), те, у которых Content-Type: application / json работает нормально, я думаю, это проблема с сервером / Apache, но я не хочу оставаться скрещенными, пока тот в команде, у кого есть доступ к этому, пытается решить это, поэтому я хочу отбросить любую проблему с моим кодом HttpClient call
using (var content = new MultipartFormDataContent())
{
if (EmailText.Text.Contains("@") && EmailText.Text.Contains("."))
{
content.Add(new StringContent(EmailText.Text), "\"email\"");
}
else
{
content.Add(new StringContent(EmailText.Text), "\"username\"");
}
content.Add(new StringContent(PasswordText.Password), "\"password\"");
var hand = new HttpClientHandler();
hand.UseDefaultCredentials = true;
hand.AllowAutoRedirect = true;
using (var httpClient = new HttpClient(hand))
{
var Uri = new Uri("https://kuwai.tech");
httpClient.BaseAddress = Uri;
httpClient.DefaultRequestHeaders.Accept.ParseAdd("application/json; charset=utf-8");
httpClient.DefaultRequestHeaders.Add("appName","MetaPrinter");
httpClient.DefaultRequestHeaders.Add("latitude", SettingsHelper.Settings.APISettings.Latitude);
httpClient.DefaultRequestHeaders.Add("longitude", SettingsHelper.Settings.APISettings.Longitude);
httpClient.DefaultRequestHeaders.Add("hostname", SettingsHelper.Settings.APISettings.IP);
httpClient.DefaultRequestHeaders.Add("hostType", "PC");
var httpResponse = httpClient.PostAsync("/apis/" + api + "/auth/login", content);
responseContent = await httpResponse.Result.Content.ReadAsStringAsync();
Result result = JsonConvert.DeserializeObject<Result>(responseContent);
Я думаю, что все в моем коде в порядке, но я хочу убедиться, как я сказал, прежде чем использовать сервер SSL, он работал хорошо .