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