Пытаюсь авторизоваться вконтакте без API. Имею ссылку вида https://m.vk.com/login?role=fast&to=&s=1&__q_hash=...
Если вставляю ее руками в браузер, то захожу под свой аккаунт, но если просто получаю ее GET`ом, то получаю контент страницы авторизации. В чем может быть проблема?
Не уверен, но скорее возможны 2 проблемы:
1) new Url(...)#openConnection() - не посылает гет запрос, а просто устанавливает соединение, потому что если это сделать с пустым гет запросом, то в логах сервера это не отобразится как гет, можно попробовать так:
URL url = new URL("...");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
Не знаю на сколько это правда, ведь для получения страницы все равно отправляется GET, но в логах его все таки нету =/
2) Данные как-то привязываются к браузеру/устройству, ведь по вашей логике я бы должен был зайти на вашу страницу вк перейдя по этой ссылке. Попробуйте в другом браузере, а лучше вообще на другом устройстве. И еще уточните пожалуйста, где вы взяли эту ссылку?
GooInLove: Act.toString()=="content" в java так строки сравнивать нельзя, правильно будет Act.toString().equals("content");
+ habrahabr.ru/post/144813 - тут делают notifer и тут описана авторизация, почитайте, возможно решите. Я теряюсь в догадках.
Проблема в том, что браузер ваш и тот, который делает ваш GET имеют разные cookie storage.
Для того, чтобы авторизоваться из кода, вам нужно либо притырить куки из браузера, либо заново авторизоваться и сохранить свои куки для программы.