Мое приложение разработано с использованием Xamarin.Android. Когда я пытаюсь выполнить отладку API с помощью Charles, я не вижу API в Charles. Но я могу видеть API других приложений, установленных на моем устройстве.
Я установил прокси-сервер на устройстве Android, принимающем IP-адрес моей системы.
Вот код, который я использовал в коде PCL, который используется как для IOS, так и для Android.
return new HttpClient(new AuthenticatedHttpClientHandler(new NativeMessageHandler()))
{
BaseAddress = new Uri(baseUrl),
Timeout = new TimeSpan(0, 0, timeout)
};
public class AuthenticatedHttpClientHandler : DelegatingHandler
{
public AuthenticatedHttpClientHandler(HttpMessageHandler innerHandler) : base(innerHandler)
{
}
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
//------
}
}
Это общий код, написанный на PCL. В IOS API не обходятся через прокси и не могут отслеживать его в Charles.