Comment envoyer des données POST avec un code sur une vue web Android

J'ai une application Android qui se compose d'un WebWiew et je dois me connecter à un site automatiquement en utilisant le code. J'ai essayé d'utiliser postUrl() et ça semble fonctionner … mais seulement sur certains sites.

Voici le code que j'utilise:

 public class webviewActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webview = new WebView(this); setContentView(webview); WebSettings webSettings = webview.getSettings(); webSettings.setJavaScriptEnabled(true); webview.setWebViewClient(new WebViewClient()); String postData = "login_email=myEmail@gmail.com&login_password=myPassword"; webview.postUrl("https://www.dropbox.com/login", EncodingUtils.getBytes(postData, "utf-8")); } } 

Cela fonctionne génial pour dropbox.com, mais d'autres sites comme google.com, facebook.com, etc. il suffit de charger la page de connexion ou de donner une erreur (google.com donne une erreur indiquant que j'ai besoin d'activer les cookies).

À l'heure actuelle, je viens juste de poster les données de la poste à la main; En regardant le formulaire de connexion pour le site et en mettant les champs de nom / valeur dans les postData dans mon code. Sur des sites comme google, le formulaire de connexion comporte de nombreux champs cachés et je les ai ajoutés à PostData.

Si quelqu'un me donnait une idée de ce que je fais mal, faites-le moi savoir, je suis assez confus à propos de cela.

2 Solutions collect form web for “Comment envoyer des données POST avec un code sur une vue web Android”

Essayez de remplacer "utf-8" (dans le 2ème paramètre) par "BASE64" .

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webView = new WebView(this); setContentView(webView); String url = "http://example.com/somepage.php"; String postData = "postvar=value&postvar2=value2"; webView.postUrl(url, EncodingUtils.getBytes(postData, "base64")); } 
coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.