|
|
|
Изменение информации на сайте
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. суть софта - авторизация на сайте, и изменение инфы в профиле с авторизацией проблем нет. Но после нее нужно перейти в профиль, и изменить там некоторые поля, но при переходе кук теряется, тоесть перейти по адресу нельзя. Подскажите, в чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 19:27:51 |
|
||
|
Изменение информации на сайте
|
|||
|---|---|---|---|
|
#18+
Ну так вы понимаете, что делаете? В одном месте лезете на сайт через HttpClient, а в другом - через URLConnection. Само собой, во втором случае ничего не передается: Код: java 1. 2. Как url.openStream() должен понять, что в заголовок запроса должна быть вставлена кука? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 19:32:26 |
|
||
|
Изменение информации на сайте
|
|||
|---|---|---|---|
|
#18+
это я понял. Не подскажите, как через httpclient получить содержимое страницы? Именно содержимое, тоесть html код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 20:08:07 |
|
||
|
Изменение информации на сайте
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. Добавил этот код, содержимое получаю, но это все равно не то. Чем отличается DefaultHttpClient() от HttpClient() ? В этом вся проблема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 21:31:33 |
|
||
|
Изменение информации на сайте
|
|||
|---|---|---|---|
|
#18+
bublk, У вас судя по всему мешанина библиотек. PostMethod - из commons-httpclient 3.x HttpGet - httpcomponents.httpclient 4.x Определитесь вначале что вы использовать хотите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 22:01:23 |
|
||
|
Изменение информации на сайте
|
|||
|---|---|---|---|
|
#18+
Что бы не тыкать пальцем в небо, вам надо понять основы, основы HTTP. HTTP это stateless протокол, т.е. протокол, который НЕ ПОДДЕРЖИВАЕТ сохранения состояния между запросами. Соответственно для того, что бы его поддреживать идут на всякие ухищрения - сессии, скрытые теги и т.д.. Первое, что вам надо понять - каким образом происходит сохранение состояния после авторизации. Наиболее распространенный вариант это сессии. Т.е. вы аутентифицируетесь, для вас открывается сессия, у сессии есть уникальный идентификатор. Сервера вам выдает этот идентификатор, что бы ваш последующий запрос мог быть сопоставлен с этой сессией. Как можно вренуть клиенту идентификатор сессии? Два наиболее распространенных варианта - либо через параметр в URL, либо через куку. Чаще используется кука. Далее, что такое кука? Кука это обычный заголовок, прикрепленный к запросу или респонсу. Поэтому вам надо сделать следующее: 1) В обязательном порядке поставить себе HTTP сниффер. Наиболее популярные - TCPMon или Fiddler2. С помозью них вы сможете увидеть сырые запросы, которые отправляются на сервер и обратно. 2) Как только поставили сниффер, отправляете POST запрос с авторизацией, получаете ответ, через сниффер анализируете, что там пришло в ответе. Ваша цель - найти идентификатор сессии. С вероятностью 99% он будет в куке (т.е. в одном из заголовков), либо же где-то в теле ответа. 3) После этого вам надо понять, как передать номер сессии обратно серверу. Для этого, либо делаете новый GET запрос с прикрепленной кукой и убеждаетесь через сниффер, что она действительно прикрепилась. Либо же (маловероятно) передаете его в качестве одного из параметров GET запроса. После отправки убеждаетесь с помощью сниффера, что от сервера пришел нормальный ответ, а не 403. Все. В технических деталях того или иного API для работы с HTTP (будь это сырой URLConnection или Apache Commons) разбирайтесь уже сами. Если будете понимать основы HTTP взаимодействия, разобраться в конкретном API - дело 20 минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 22:19:18 |
|
||
|
Изменение информации на сайте
|
|||
|---|---|---|---|
|
#18+
svenom, Да достаточно, я думаю, будет firebug под firefox. Просто удобно ведь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 00:10:17 |
|
||
|
Изменение информации на сайте
|
|||
|---|---|---|---|
|
#18+
Ок, разобрался. К GET запросам должна прикреплятся кука. Но еще сохраняется кук от u4471.86.spylog.com я так думаю она не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 13:35:29 |
|
||
|
Изменение информации на сайте
|
|||
|---|---|---|---|
|
#18+
Еще вопрос Есть /editp.php, для редактирования инфы. Ему я POST запросом передаю нужные значения, по выводу видно что нужные значения поменялись. Но в /editp.php?id=.. есть кнопка "submit", по нажатию которой данные передаются POST запросом к editp.php Но изменения не сохраняются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 15:38:55 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37605108&tid=2132900]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 338ms |
| total: | 479ms |

| 0 / 0 |
