У меня есть приложение для Android, которое состоит из WebWiew
, и мне нужно автоматически войти на сайт с помощью кода. Я пробовал использовать postUrl()
и, похоже, работает... но только на некоторых сайтах.
Вот код, который я использую:
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 = "[email protected]&login_password=myPassword";
webview.postUrl("https://www.dropbox.com/login", EncodingUtils.getBytes(postData, "utf-8"));
}
}
Это работает отлично для dropbox.com, но другие сайты, такие как google.com, facebook.com и т.д. просто загружают страницу входа или дают ошибку (google.com дает ошибку, говоря, что я необходимо включить файлы cookie).
Сейчас я просто собираю данные для публикации вручную; глядя на форму входа для сайта и помещая поля name/value в postData в мой код. На сайтах, таких как google, в форме входа в систему есть много скрытых полей, и я также добавлял их в postData.
Если кто-нибудь может дать мне представление о чем-то, что я делаю неправильно, сообщите мне, я довольно смущен.