Xamarin: Java .IO.IOException Message = открытый текст HTTP-трафика c на веб-сайты myapi.azure. net не разрешено - PullRequest
1 голос
/ 07 марта 2020

Я недавно обновился до последней версии Xamarin 4.5.0.356. Это заставило меня сменить Android версию сборки на 9.0.

С тех пор, когда я вызываю свой тестовый API, я получаю:

Java.IO.IOException   Message=Cleartext HTTP traffic to myapi.azurewebsites.net not permitted

Я понимаю, что все API должны быть http S , но это тестовый (принадлежит мне).

Я искал в Интернете (переполнение стека), и было предложено добавить следующее в AndroidManifest. xml

  <uses-permission android:name="android.permission.INTERNET" />
  <application android:networkSecurityConfig="@xml/network_security_config" />
</manifest>

, а затем добавьте файл Resources / xml / network_security_config. xml, содержащий следующее:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
  <domain-config cleartextTrafficPermitted="true">
    <domain includeSubdomains="true">myapi.azurewebsites.net</domain>
  </domain-config>
</network-security-config>

Однако при первом вызове API все равно появляется ошибка. (iOS версия работает отлично)

У кого-нибудь есть идеи?

1 Ответ

2 голосов
/ 09 марта 2020

Попробуйте добавить base-config в ваш network_security_config. xml:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
  <base-config cleartextTrafficPermitted="true" />
  <domain-config cleartextTrafficPermitted="true">
    <domain includeSubdomains="true">myapi.azurewebsites.net</domain>
  </domain-config>
</network-security-config>
...