2016-04-27 38 views
12

ho letto tutte le discussioni su questo argomento e le istruzioni per l'impostazione charles con genymotion sono tutti uguali:Charles Proxy per Genymotion ferma 10.0.3.2 traffico localhost

http://rexstjohn.com/using-genymotion-charles-proxy/

In your Genymotion Android emulator… 
Settings -> Wifi -> Press and hold your active network 
Select “Modify Network” 
Select “Show Advanced Options” 
Select “Proxy Settings -> Manual” 
Set your Proxy to: 10.0.3.2 (Genymotion’s special code for the local workstation) 
Set your Port to: 8888 
Press Save 

Il mio set up è:

  1. Un server Primavera sviluppo localhost in esecuzione sul mio Mac OS
  2. Un'app Android installata sul mio emulatore genymotion. L'emulatore genymotion comunica con il mio server dev locale tramite IP 10.0.3.2 (How to access localhost from a Genymotion android emulator?)

Non sono sicuro se le istruzioni sono vecchi, ma il problema che sto avendo è che il traffico che scorre dal mio genymotion emulatore è registrato all'interno di Charles Proxy ma non raggiunge il mio server localhost. Non sto utilizzando alcuna crittografia SSL tra il mio server e la mia app.

Questo è il mio impostazioni all'interno dello schermo genymotion wifi:

enter image description here

Questo è ciò che il mio Charles Proxy sembra - si può vedere che è "Connessione a host remoto". Si collega per sempre e poi alla fine finisce per avermi dato un errore di 503 da parte mia applicazione Android con niente di essere restituito:

enter image description here

Se spengo Charles Proxy, l'applicazione si connette con il mio server localhost senza problemi e tutte le chiamate vengono restituite correttamente. Penso che sia qualcosa che ha a che fare con Charles che impedisce alla mia app di comunicare con il mio server localhost.

In postino, se cerco di interrogare lo stesso URL che la mia applicazione Android stava cercando di interrogare, funziona con successo ed i risultati vengono registrati anche con successo all'interno di Charles:

http://localhost:8443/ + my api endpoint **OR** http://localhost.charlesproxy.com:8443/ + my api endpoint 

L'unica differenza tra l'esecuzione di query in Postman e l'interrogazione nella mia app Android è che la mia app colpisce questo url 10.0.3.2, invece, perché sto lavorando fuori un emulatore:

http://10.0.3.2:8443/ + my api endpoint 

ho anche aggiunto 10.0.3.2 nelle mie Impostazioni controllo di accesso:

enter image description here

posso andare nel mio Android browser internet genymotion emulatore e la ricerca di siti web come www.msn.com e tornerà con successo più registrare i risultati entro Carlo ma non sto cercando o sono disposti a pagare 50 USD per uno strumento per registrare il mio traffico del browser Android. Ho bisogno che funzioni con la mia app per Android in modo da poter eseguire il debug della mia app. Non sono sicuro di come sistemarlo, qualcuno qui sa se mi manca qualcosa?

EDIT:

Nel caso in cui qualcuno si sta chiedendo, ho letto questo post su FAQ Charles' sul traffico Localhost non appare in Charles:

https://www.charlesproxy.com/documentation/faqs/

Ma non è come posso cambiare il 10.0.3.2 usato da Genymotion a http://localhost.charlesproxy.com/ invece non penso che risolverebbe il mio problema.

risposta

1

Quindi, stavo giocando con l'emulatore di Genymotion e Charles ora e sono riuscito a convincere Charles a registrare il traffico localhost.

simile al modo in cui ho chiesto attraverso Postino con:

http://localhost.charlesproxy.com:8443/ + my api endpoint 

Ho appena cambiato la parte host di tutti i miei endpoint API per: http://localhost.charlesproxy.com:8443/ e ha funzionato.

Problemi correlati