Я отправляю некоторые данные на сервер.Этот кусок кода отлично работает несколько месяцев назад.Но теперь он выбросил «Flurl.Http.FlurlHttpException».
Flurl.Http 2.3.2
string res = "";
try
{
var obj = new { api_key = "key", api_secret = "secret", start = 1 };
res = await "https://api-cn.faceplusplus.com/facepp/v3/faceset/getfacesets"
.PostMultipartAsync(mp => mp
.AddStringParts(obj)
).ReceiveString();
}
catch (FlurlHttpException ex)
{
Debug.WriteLine(ex.Message);
}
Единственное отличие - версия Win10, с 1803 до 1809. Я перешел на использование "PostUrlEncodedAsync ", сервер возвращает успех.Но этот метод не может добавить файл.
res = await apiUrl
.PostUrlEncodedAsync(obj)
.ReceiveString();
Вот FlurlHttpException:
{Flurl.Http.FlurlHttpException: Call failed with status code 400 (): POST https://api-cn.faceplusplus.com/facepp/v3/faceset/getfacesets
at Flurl.Http.FlurlRequest.<HandleExceptionAsync>d__23.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Flurl.Http.FlurlRequest.<SendAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Flurl.Http.FlurlRequest.<SendAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Flurl.Http.HttpResponseMessageExtensions.<ReceiveString>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at FacePlusPlusUWP.FaceServiceClient.<SendRequestAsync>d__26.MoveNext()}