HttpSession
Re: HttpSession
просто я не могу понять, когда я отсылаю на сервер куки с сессией, а не логин и пароль, то код страницы не возвращается (content: null) а код ответа 200, т.е запрос удачныйrezak90 писал(а):я же привёл пример как выводится content
Код: Выделить всё
Log.i("MyTag", "response: " + conn.getResponseMessage());
String content = convertStreamToString(conn.getInputStream());
Log.i("MyTag", "content: " + content);
Log.i("MyTag", "url: " + conn.getURL());
Log.i("MyTag", "ContentEncoding: " + conn.getContentEncoding());
Log.i("MyTag", "ContentType: " + conn.getContentType());
Log.i("MyTag", "response code: " + conn.getResponseCode());
10-16 06:20:20.422: I/MyTag(1099): content: null
10-16 06:20:20.440: I/MyTag(1099): url: https://.....
10-16 06:20:20.440: I/MyTag(1099): ContentEncoding: null
10-16 06:20:20.440: I/MyTag(1099): ContentType: text/html
10-16 06:20:20.440: I/MyTag(1099): response code: 200
Re: HttpSession
ну вариантов может быть куча:
1) вы уверены что передаёте правильные куки? и уверены что все?
2) возможно идёт редирект;
3) возможно используется JavaScript или ещё хуже - Ajax, и это значит что страницу вы не спарсите;
З.Ы. попробуйте включить сетевой сниффер и зайти через браузер (руками) в админку и там перейти на необходимую вами страницу, потом опять таки включить сниффер и запутсить программу - сравните куки и http запросы с двух проделанных операций, так выявите возможную ошибку.
1) вы уверены что передаёте правильные куки? и уверены что все?
2) возможно идёт редирект;
3) возможно используется JavaScript или ещё хуже - Ajax, и это значит что страницу вы не спарсите;
З.Ы. попробуйте включить сетевой сниффер и зайти через браузер (руками) в админку и там перейти на необходимую вами страницу, потом опять таки включить сниффер и запутсить программу - сравните куки и http запросы с двух проделанных операций, так выявите возможную ошибку.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: HttpSession
вот начнем с первого, я не уверенна, что передаю правильноrezak90 писал(а):ну вариантов может быть куча:
1) вы уверены что передаёте правильные куки? и уверены что все?
2) возможно идёт редирект;
3) возможно используется JavaScript или ещё хуже - Ajax, и это значит что страницу вы не спарсите;
З.Ы. попробуйте включить сетевой сниффер и зайти через браузер (руками) в админку и там перейти на необходимую вами страницу, потом опять таки включить сниффер и запутсить программу - сравните куки и http запросы с двух проделанных операций, так выявите возможную ошибку.
делаю вот так:
Код: Выделить всё
HttpURLConnection conn = (HttpURLConnection) new URL(params[0]).openConnection();
conn.setRequestProperty("Cookie","PHPSESSID=" + cookies.get(0).getValue());
conn.connect();
вот куки которые я получаю:
10-16 06:20:15.519: I/System.out(1099): Local cookie: [version: 0][name: PHPSESSID][value: f5j6d6l6pml8cfhf5fbk08am12][path: /][expiry: null]
10-16 06:20:15.519: I/System.out(1099): Local cookie: [version: 0][name: SERVERID][value: C][path: /][expiry: null]
Re: HttpSession
вы пользуетесь сниффером или идёте "вслепую"?
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: HttpSession
сейчас погуглю, никогда не пользоваласьrezak90 писал(а):вы пользуетесь сниффером или идёте "вслепую"?
может быть вы какой-то порекомендуете? они бесплатные?
Последний раз редактировалось tanchik 16 окт 2012, 10:00, всего редактировалось 1 раз.
Re: HttpSession
странно тогда как вы узнаёте нужные куки и вообще я себе не представляю как можно без снифера
http://www.youtube.com/watch?v=0gVsW1Q2g8k
http://www.youtube.com/watch?v=0gVsW1Q2g8k
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: HttpSession
для фаерфокса есть дополнение, которое с куками позволяет работать, пользуюсь имrezak90 писал(а):странно тогда как вы узнаёте нужные куки и вообще я себе не представляю как можно без снифера
http://www.youtube.com/watch?v=0gVsW1Q2g8k
Re: HttpSession
не люблю firebug, он то хорош, но как вы увидите отправляемые запросы и куки с вашей программы?
попытайтесь выполнить то что я писал выше
попытайтесь выполнить то что я писал выше
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: HttpSession
да, сейчас поробую - отпишусьrezak90 писал(а):не люблю firebug, он то хорош, но как вы увидите отправляемые запросы и куки с вашей программы?
попытайтесь выполнить то что я писал выше
Re: HttpSession
Что-то пока не могу разобраться - куда смотреть ковыряюсь.
Re: HttpSession
ковыряйтесь, написания java-ботов вообще вещ геморная, но с каждым гемором приходит опыт
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: HttpSession
Что-то я пробовала с хидерами отправлять, но все равно код страницы не получаю хотя совпадает с тем что ждет сервер. Может я не правильно куки отсылаю?
Код: Выделить всё
HttpURLConnection conn = (HttpURLConnection) new URL(params[0]).openConnection();
conn.setRequestProperty("Cookie","PHPSESSID=" + cookies.get(0).getValue());
conn.setInstanceFollowRedirects(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Accept", "text/html, */*; q=0.01");
conn.setRequestProperty("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
conn.setRequestProperty("Accept-Encoding", "gzip, deflate");
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:16.0) Gecko/20100101 Firefox/16.0");
conn.setRequestProperty("Connection", "keep-alive");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
conn.setRequestProperty("X-Requested-With", "XMLHttpRequest");
conn.setRequestProperty("Referer", params[0]);
conn.setRequestProperty("Pragma", "no-cache");
conn.connect();
Re: HttpSession
Что именно используется на странице которую нужно получить? Может там просто не html, или же html который генерится JavaScript'ом или Ajax, или ещё что то запредельное.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: HttpSession
просто html, на странице есть javaScript, но страница JavaScript'ом не генеритьсяrezak90 писал(а):Что именно используется на странице которую нужно получить? Может там просто не html, или же html который генерится JavaScript'ом или Ajax, или ещё что то запредельное.
Re: HttpSession
Ну что вам сказать. Трудно сказать почему не получается получить контент. Хотите скинтье проект, позже посмотрю.
Последний раз редактировалось rezak90 17 окт 2012, 12:05, всего редактировалось 1 раз.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: HttpSession
rezak90 писал(а):Ну что вам сказать. Трудно с казать почему не получается получить контент. Хотите скинтье проект, позже посмотрю.
спасибо за помощь!
а так видимых ошибок нет?
Re: HttpSession
та вроде как нету, разве что надеюсь что вы выполняете это всё в отдельном потоке, а то не красиво использовать в главном потоке =)
ну и при условии что все потоки во время закрываются.
ну и при условии что все потоки во время закрываются.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: HttpSession
да, в отдельном)rezak90 писал(а):та вроде как нету, разве что надеюсь что вы выполняете это всё в отдельном потоке, а то не красиво использовать в главном потоке =)
ну и при условии что все потоки во время закрываются.
Re: HttpSession
может ссылка какая есть или книга по этому поводу? не угостите?