Network Security Configuration - Android 9

di il
11 risposte

Network Security Configuration - Android 9

In Android 9 per disabilitare la connessione sicura https (di default in Android 9) utilizzo il seguente file "network_security_config":

<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>

Con questa configurazione dovrei connettere un Client (Android 9) ad un Web Service http su questa uri:
"http://192.168.1.6:54427/api";

ottengo questo errore: '400 Bad Request'.

E' corretta la suddetta configurazione?

11 Risposte

  • Re: Network Security Configuration - Android 9

    Bad request è restituito dal server, il ché significa che il client riesce a contattare il server, quindi la configurazione di sicurezza è corretta. L'errore è nella richiesta che invii dal client Android (ad esempio manca un parametro obbligatorio). Magari nei log del server potresti trovare l'errore. In alternativa prova a loggare la richiesta nel client e a vedere cosa invii di sbagliato
  • Re: Network Security Configuration - Android 9

    Questa è la richiesta che funziona da altro client (Web Form);

    var client = new HttpClient();
    client.BaseAddress = new Uri ("http://192.168.1.6:54427/api");
    var responseTask = client.GetStringAsync("Dip");
  • Re: Network Security Configuration - Android 9

    E come lo chiami quell'endpoint dall'applicazione Android?
  • Re: Network Security Configuration - Android 9

    Intendi come chiamo la procedura di connessione?
  • Re: Network Security Configuration - Android 9

    No, più che la connessione intendo come fai la richiesta. Da qualche parte userai un client HTTP (OkHttp, Apache HttpClient o HttpUrlConnection giusto per citarne qualcuno), direttamente oppure tramite altre librerie (es Retrofit)
  • Re: Network Security Configuration - Android 9

    Utilizzando Microsoft Framework:

    System.Net.Http
  • Re: Network Security Configuration - Android 9

    Usi C# per sviluppare app android? Stai usando xamarin? In ogni caso POSTA IL CODICE altrimenti non si capisce dove sia il problema
  • Re: Network Security Configuration - Android 9

    Si uso Xamarin.

    protected override void OnCreate(Bundle savedInstanceState)
    {
    base.OnCreate(savedInstanceState);
    Xamarin.Essentials.Platform.Init(this, savedInstanceState);
    // Set our view from the "main" layout resource
    SetContentView(Resource.Layout.activity_main);



    var client = new HttpClient();

    client.BaseAddress = new Uri("http://192.168.1.6:54427/api");

    var responseTask = client.GetStringAsync("Dip");

    responseTask.Wait();

    var result = responseTask.Result;

    TextView test = (TextView)FindViewById(Resource.Id.textView1);
    test.Text = result;


    }
  • Re: Network Security Configuration - Android 9

    Ok ora è più chiaro. Una cosa che potrebbe essere diversa è lo User Agente - che potrebbe spiegare come mai lo stesso codice funziona da una parte ma non dall'altra. Hai accesso al server? Se si, magari puoi debuggre lì per capire cosa non va nella richiesta
  • Re: Network Security Configuration - Android 9

    Essendo il dispositivo Android esterno, connesso in LAN al Server IIS, forse va configurato il web server nella risposta, nonchè per il web form client che invece viene lanciato dallo stesso PC in cui risiede il Server in localhost.
  • Re: Network Security Configuration - Android 9

    Se avessi ottenuto un errore 404 o 5xx sarebbe potuta essere una configurazione. Visto che però ottieni un 400 significa che il client riesce a raggiungere il server, il server riesce a interpretare la richiesta (altrimenti avresti avuto un 5xx) ma c'è qualcosa di sbagliato nella richiesta che invii
Devi accedere o registrarti per scrivere nel forum
11 risposte