1 | ||||||
Synapse 302 found22.07.2014, 09:44. Показов 4137. Ответов 20
Метки нет Все метки)
(
Всем привет.
Хотел спросить у вас две вещи. Я пытаюсь авторизоваться на mobile.twitter.com средствами synapse Вот так я делаю авторизацию, но авторизоваться не выходит
400 Bad Request вот что показывают снифферы ![]() Кликните здесь для просмотра всего текста
https://mobile.twitter.com/session POST /session HTTP/1.1 Host: mobile.twitter.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Referer: https://mobile.twitter.com/login Cookie: guest_id=v1%3A140597277385268152; _ga=GA1.2.292430496.1405972780; remember_checked_on=0; eu_cn=1; d=32; req_country=Ukraine; req_country_code=UA; req_ip=37.55.5.63; _mobile_sess=BAh7CDoLcmVwX2lkSSIpNTAyZTkzZjAtZjM0M S0wMTMxLTAxYWMtMmM3Njhh%0ANGY3NmIwBjoGRVQ6EF9jc3Jm X3Rva2VuIhljMTAzMDczOWNhYTM1Yzg0ZDc5%0AMjoabGFzdF9 1cmxfYmVmb3JlX2xvZ2luMA%3D%3D%0A--44ff90370567b5841abefa3efe9373105ce5d1e3; mlang=ru; u=266427f65ead3ab0d16332962293c02f7c5090b5; dnt=1; _dc_a=1; _dc_b=1; pid="v3:1406007400603902559221660"; _twitter_sess=BAh7CSIKZmxhc2hJQzonQWN0aW9uQ29udHJv bGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7A DoMY3NyZl9pZCIlMjk5MzIzNjI4ZThhYzkyNTVi%250AMWZkOG U4MmQ3NmVhNWI6B2lkIiU0MDBhMjcxN2JlNDA5OWU0YmZjY2Nh Njgy%250AOTZmMGNjMzoPY3JlYXRlZF9hdGwrCFyUklxHAQ%25 3D%253D--c504037daa974ee21c72c6180492beb06d9d8c6a; _mb_tk=c1030739caa35c84d792 Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 85 authenticity_token=c1030739caa35c84d792&username=д фдфдф%40bk.ru&password=дфдфдфд HTTP/1.1 302 Found Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0 Content-Encoding: gzip Content-Length: 107 content-security-policy-report-only: default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com data:; frame-src 'none'; frame-ancestors 'none'; img-src https://abs.twimg.com https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src https://abs.twimg.com https://abs-0.twimg.com; style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_repo... D&ro=true; Content-Type: text/html;charset=utf-8 Date: Tue, 22 Jul 2014 05:38:07 GMT Expires: Tue, 31 Mar 1981 05:00:00 GMT Last-Modified: Tue, 22 Jul 2014 05:38:06 GMT Location: https://mobile.twitter.com/ ml: A Pragma: no-cache Server: tfe Set-Cookie: twid="u=2391553824"; Path=/; Domain=.twitter.com; Secure Set-Cookie: remember_checked_on=0; Expires=Fri, 19 Jul 2024 05:38:07 GMT; Path=/; Domain=.twitter.com Set-Cookie: _mb_tk=; Expires=Thu, 01 Jan 1970 00:00:01 GMT Set-Cookie: dnt=; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Domain=.twitter.com Set-Cookie: auth_token=ff11d0e71e5d6b05afd50e88b066692644bd96d 8; Path=/; Domain=.twitter.com; Secure; HTTPOnly Set-Cookie: _twitter_sess=BAh7CiIKZmxhc2hJQzonQWN0aW9uQ29udHJv bGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7A DoMY3NyZl9pZCIlMjk5MzIzNjI4ZThhYzkyNTVi%250AMWZkOG U4MmQ3NmVhNWI6B2lkIiU0MDBhMjcxN2JlNDA5OWU0YmZjY2Nh Njgy%250AOTZmMGNjMzoPY3JlYXRlZF9hdGwrCFyUklxHAToJd XNlcmwrByA3jI4%253D--eb23992e6d91316f573ff9a009d59ff65010c379; Path=/; Domain=.twitter.com; Secure; HTTPOnly status: 302 Found strict-transport-security: max-age=631138519 x-content-type-options: nosniff x-frame-options: SAMEORIGIN x-transaction: 091ac122986a7906 x-ua-compatible: IE=edge,chrome=1 x-xss-protection: 1; mode=block X-Firefox-Spdy: 3.1
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
22.07.2014, 09:44 | |
Ответы с готовыми решениями:
20
Ошибка "HTTP/1.1 302 Found" Synapse Indy to Synapse post synapse |
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
22.07.2014, 11:01 | 2 |
400 Bad Reguist: В запросе найдена синтаксическая ошибка.
Причины: Неправильное оформление запроса; Перебой в работе интернет-провайдера; Антивирус; Фаервол или Брандмауэр; Куки или Кеш. Источник: http://opartnerke.ru/oshibka-4... -brauzere/
1
|
22.07.2014, 12:27 [ТС] | 3 |
так, немного продвинулся.
Я просто почистил http перед тем как делать запрос пост(до этого выполняется запрос гет). теперь у меня в мемо выводится такой вот текст: Кликните здесь для просмотра всего текста
302
Found HTTP/1.0 302 Found cache-control: no-cache, max-age=300 content-language: en content-length: 104 content-type: text/html; charset=utf-8 date: Tue, 22 Jul 2014 07:00:57 GMT expires: Tue, 22 Jul 2014 07:05:57 GMT location: https://mobile.twitter.com/session/new server: tfe set-cookie: _mobile_sess=BAh7CDoLcmVwX2lkSSIpZGEzY2NmOTAtZjM5Y i0wMTMxLTY5YmMtMDAwMmM5%0AZTk4MGEwBjoGRVQ6EF9jc3Jm X3Rva2VuIhkwZmJkY2NjYTU1YzVhMzQ1ZGZl%0ANDoabGFzdF9 1cmxfYmVmb3JlX2xvZ2luSSIRL3Nlc3Npb24vbmV3BjsGVA%3D %3D%0A--68e37f0527460cb275476f50bcfa2479b526fb14; path=/; expires=Fri, 19-Sep-2014 22:33:25 GMT status: 302 Found strict-transport-security: max-age=631138519 vary: Accept-Encoding x-xss-protection: 1; mode=block Connection: keep-alive это значит что аккаунт залогинился? или нет? если нет, то как его залогинить? можете обьянсить? Добавлено через 46 минут 302 это редирект? кто разбирается в этом? подскажите как залогиниться хотя бы) Добавлено через 37 минут Хм.. сейчас попробовал залогиниться через браузер и глянул сниффер. Получается что идет переадресация на сайт mobile.twitter.com ? я правильно понимаю? И что нужно делать программой? Аккаунт уже залогинился, или еще нужно что-то сделать?
0
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
23.07.2014, 11:09 | 6 |
похоже всё прошло удачно. К тому же галочка "Запомнить меня" стоит. localation - это туда, куда надо идти.
Если перевести, то: 302 Найдено.
1
|
23.07.2014, 22:27 [ТС] | 7 | |||||
хм.. ну даже не уверен, вот код того, что выводится в мемо:
Кликните здесь для просмотра всего текста
302 Found HTTP/1.0 302 Found cache-control: no-cache, max-age=300 content-language: en content-length: 104 content-type: text/html; charset=utf-8 date: Wed, 23 Jul 2014 18:06:51 GMT expires: Wed, 23 Jul 2014 18:11:51 GMT location: https://mobile.twitter.com/session/new server: tfe set-cookie: _mobile_sess=BAh7CDoLcmVwX2lkSSIpMGI0YjI3MDAtZjRjM i0wMTMxLTQwNzMtMDA4Y2Zh%0AMDQ0Mzg4BjoGRVQ6EF9jc3Jm X3Rva2VuIhlmZWZhODIxYmRhMTQ5NjNjZTA3%0AZToabGFzdF9 1cmxfYmVmb3JlX2xvZ2luSSIRL3Nlc3Npb24vbmV3BjsGVA%3D %3D%0A--15379d4c325246109413cee0777b9c409f2bdba1; path=/; expires=Sat, 20-Sep-2014 18:30:48 GMT status: 302 Found strict-transport-security: max-age=631138519 vary: Accept-Encoding x-xss-protection: 1; mode=block Connection: keep-alive точно такой же текст выводит, когда я пишу намеренно неправильные логин и пароль Добавлено через 12 минут может быть попробовать не через мобильный твиттер, а обычный?.. Так, я сейчас в браузере залогинился в акке в твиттере, сразу делается пост запрос, с логином и паролем и токеном. потом гет запрос и опять пост запрос. А как мне программно это сделать правильно? Как можно залогиниться? Кликните здесь для просмотра всего текста
https://twitter.com/sessions
POST /sessions HTTP/1.1 Host: twitter.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Referer: https://twitter.com/login Cookie: guest_id=v1%3A140597277385268152; _ga=GA1.2.292430496.1405972780; remember_checked_on=0; webn=2391553824; eu_cn=1; __utma=43838368.292430496.1405972780.1406134704.14 06139402.2; __utmc=43838368; __utmz=43838368.1406134704.1.1.utmcsr=(direct)|utm ccn=(direct)|utmcmd=(none); lang=ru; __utmb=43838368.1.9.1406139402; goth=1; dnt=1; pid="v3:1406139463384267108108840"; _dc_a=1; _dc_b=1; _twitter_sess=BAh7CSIKZmxhc2hJQzonQWN0aW9uQ29udHJv bGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7A DoMY3NyZl9pZCIlMzI3NTk3Y2JiM2Y3NTViYTk3%250AMGJkZG UwZTViOTlkZjc6D2NyZWF0ZWRfYXRsKwhbo3FkRwE6B2lkIiU3 MmU2%250AMDE1MzliOTMxZWYxNDNhOGMyZDRjNGEzOTVkMA%25 3D%253D--ffeea06351eee1f5dce6818b0c30a9199c1f83c7 Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 234 session%5Busername_or_email%5D=zayawki%40bk.ru&ses sion%5Bpassword%5D=zhadzhadok1&authenticity_token= 67eeb12e52a0133f49d76696706e9a381440e4a8&scribe_lo g=&redirect_after_login=&authenticity_token=67eeb1 2e52a0133f49d76696706e9a381440e4a8 HTTP/1.1 302 Found Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0 Content-Encoding: gzip Content-Length: 103 content-security-policy-report-only: default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com data:; frame-src 'none'; frame-ancestors 'none'; img-src https://abs.twimg.com https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src https://abs.twimg.com https://abs-0.twimg.com; style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_repo... D&ro=true; Content-Type: text/html;charset=utf-8 Date: Wed, 23 Jul 2014 18:18:25 GMT Expires: Tue, 31 Mar 1981 05:00:00 GMT Last-Modified: Wed, 23 Jul 2014 18:18:25 GMT Location: https://twitter.com/ ml: A Pragma: no-cache Server: tfe Set-Cookie: twid="u=2391553824"; Path=/; Domain=.twitter.com; Secure Set-Cookie: remember_checked_on=0; Expires=Sat, 20 Jul 2024 18:18:25 GMT; Path=/; Domain=.twitter.com Set-Cookie: dnt=; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Domain=.twitter.com Set-Cookie: auth_token=ff11d0e71e5d6b05afd50e88b066692644bd96d 8; Path=/; Domain=.twitter.com; Secure; HTTPOnly Set-Cookie: _twitter_sess=BAh7CiIKZmxhc2hJQzonQWN0aW9uQ29udHJv bGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7A DoMY3NyZl9pZCIlMzI3NTk3Y2JiM2Y3NTViYTk3%250AMGJkZG UwZTViOTlkZjc6D2NyZWF0ZWRfYXRsKwhbo3FkRwE6B2lkIiU3 MmU2%250AMDE1MzliOTMxZWYxNDNhOGMyZDRjNGEzOTVkMDoJd XNlcmwrByA3jI4%253D--74cb9391883b16af0288b704f3490c592934eeb9; Path=/; Domain=.twitter.com; Secure; HTTPOnly status: 302 Found Strict-Transport-Security: max-age=631138519 x-content-type-options: nosniff x-frame-options: SAMEORIGIN x-transaction: 4e8f62bd377f22fc x-ua-compatible: IE=edge,chrome=1 x-xss-protection: 1; mode=block X-Firefox-Spdy: 3.1 ---------------------------------------------------------- https://twitter.com/ GET / HTTP/1.1 Host: twitter.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Referer: https://twitter.com/login Cookie: guest_id=v1%3A140597277385268152; _ga=GA1.2.292430496.1405972780; remember_checked_on=0; webn=2391553824; eu_cn=1; __utma=43838368.292430496.1405972780.1406134704.14 06139402.2; __utmc=43838368; __utmz=43838368.1406134704.1.1.utmcsr=(direct)|utm ccn=(direct)|utmcmd=(none); lang=ru; __utmb=43838368.1.9.1406139402; goth=1; pid="v3:1406139463384267108108840"; _dc_a=1; _dc_b=1; _twitter_sess=BAh7CiIKZmxhc2hJQzonQWN0aW9uQ29udHJv bGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7A DoMY3NyZl9pZCIlMzI3NTk3Y2JiM2Y3NTViYTk3%250AMGJkZG UwZTViOTlkZjc6D2NyZWF0ZWRfYXRsKwhbo3FkRwE6B2lkIiU3 MmU2%250AMDE1MzliOTMxZWYxNDNhOGMyZDRjNGEzOTVkMDoJd XNlcmwrByA3jI4%253D--74cb9391883b16af0288b704f3490c592934eeb9; twid="u=2391553824"; auth_token=ff11d0e71e5d6b05afd50e88b066692644bd96d 8 Connection: keep-alive HTTP/1.1 200 OK Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0 Content-Encoding: gzip content-security-policy-report-only: default-src https:; connect-src https:; font-src https: data:; frame-src https: http://*.twimg.com http://itunes.apple.com about: javascript:; frame-ancestors https:; img-src https: data:; media-src https:; object-src https:; script-src 'unsafe-inline' 'unsafe-eval' about: https:; style-src 'unsafe-inline' https:; report-uri https://twitter.com/i/csp_repo... D&ro=true; Content-Type: text/html;charset=utf-8 Date: Wed, 23 Jul 2014 18:18:25 GMT Expires: Tue, 31 Mar 1981 05:00:00 GMT Last-Modified: Wed, 23 Jul 2014 18:18:25 GMT ms: A Pragma: no-cache Server: tfe Set-Cookie: _twitter_sess=BAh7CiIKZmxhc2hJQzonQWN0aW9uQ29udHJv bGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7A DoMY3NyZl9pZCIlMzI3NTk3Y2JiM2Y3NTViYTk3%250AMGJkZG UwZTViOTlkZjc6D2NyZWF0ZWRfYXRsKwhbo3FkRwE6B2lkIiU3 MmU2%250AMDE1MzliOTMxZWYxNDNhOGMyZDRjNGEzOTVkMDoJd XNlcmwrByA3jI4%253D--74cb9391883b16af0288b704f3490c592934eeb9; Path=/; Domain=.twitter.com; Secure; HTTPOnly status: 200 OK Strict-Transport-Security: max-age=631138519 x-content-type-options: nosniff x-frame-options: SAMEORIGIN x-transaction: 21f68dc035a0adfc x-ua-compatible: IE=edge,chrome=1 x-xss-protection: 1; mode=block X-Firefox-Spdy: 3.1 ---------------------------------------------------------- https://twitter.com/i/jot POST /i/jot HTTP/1.1 Host: twitter.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0 Accept: application/json, text/javascript, */*; q=0.01 Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Twitter-Polling: true X-Requested-With: XMLHttpRequest Referer: https://twitter.com/login Content-Length: 1827 Cookie: guest_id=v1%3A140597277385268152; _ga=GA1.2.292430496.1405972780; remember_checked_on=0; webn=2391553824; eu_cn=1; __utma=43838368.292430496.1405972780.1406134704.14 06139402.2; __utmc=43838368; __utmz=43838368.1406134704.1.1.utmcsr=(direct)|utm ccn=(direct)|utmcmd=(none); lang=ru; __utmb=43838368.1.9.1406139402; goth=1; pid="v3:1406139463384267108108840"; _dc_a=1; _dc_b=1; _twitter_sess=BAh7CiIKZmxhc2hJQzonQWN0aW9uQ29udHJv bGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7A DoMY3NyZl9pZCIlMzI3NTk3Y2JiM2Y3NTViYTk3%250AMGJkZG UwZTViOTlkZjc6D2NyZWF0ZWRfYXRsKwhbo3FkRwE6B2lkIiU3 MmU2%250AMDE1MzliOTMxZWYxNDNhOGMyZDRjNGEzOTVkMDoJd XNlcmwrByA3jI4%253D--74cb9391883b16af0288b704f3490c592934eeb9; twid="u=2391553824"; auth_token=ff11d0e71e5d6b05afd50e88b066692644bd96d 8 Connection: keep-alive Pragma: no-cache Cache-Control: no-cache log=%5B%7B%22internal_referer%22%3A%22%2Fru%2Fdown load%3Flogged_out%3D1%22%2C%22client_version%22%3A %22macaw-swift%22%2C%22user_id%22%3A0%2C%22event_value%22%3 A0%2C%22event_namespace%22%3A%7B%22client%22%3A%22 web%22%2C%22page%22%3A%22login%22%2C%22section%22% 3A%22login%22%2C%22component%22%3A%22reduced_actio n_queue%22%2C%22action%22%3A%22captured%22%7D%2C%2 2triggered_on%22%3A1406139477997%2C%22format_versi on%22%3A2%2C%22_category_%22%3A%22client_event%22% 7D%2C%7B%22internal_referer%22%3A%22%2Fru%2Fdownlo ad%3Flogged_out%3D1%22%2C%22client_version%22%3A%2 2macaw-swift%22%2C%22user_id%22%3A0%2C%22event_value%22%3 A0%2C%22event_namespace%22%3A%7B%22client%22%3A%22 web%22%2C%22page%22%3A%22login%22%2C%22section%22% 3A%22login%22%2C%22component%22%3A%22reduced_actio n_queue%22%2C%22action%22%3A%22ignored%22%7D%2C%22 triggered_on%22%3A1406139477998%2C%22format_versio n%22%3A2%2C%22_category_%22%3A%22client_event%22%7 D%2C%7B%22internal_referer%22%3A%22%2Fru%2Fdownloa d%3Flogged_out%3D1%22%2C%22client_version%22%3A%22 macaw-swift%22%2C%22user_id%22%3A0%2C%22event_value%22%3 A0%2C%22event_namespace%22%3A%7B%22client%22%3A%22 web%22%2C%22page%22%3A%22login%22%2C%22section%22% 3A%22login%22%2C%22component%22%3A%22reduced_actio n_queue%22%2C%22action%22%3A%22direct%22%7D%2C%22t riggered_on%22%3A1406139477999%2C%22format_version %22%3A2%2C%22_category_%22%3A%22client_event%22%7D %2C%7B%22internal_referer%22%3A%22%2Fru%2Fdownload %3Flogged_out%3D1%22%2C%22client_version%22%3A%22m acaw-swift%22%2C%22user_id%22%3A0%2C%22event_value%22%3 A0%2C%22event_namespace%22%3A%7B%22client%22%3A%22 web%22%2C%22page%22%3A%22login%22%2C%22section%22% 3A%22login%22%2C%22component%22%3A%22reduced_actio n_queue%22%2C%22action%22%3A%22all%22%7D%2C%22trig gered_on%22%3A1406139477999%2C%22format_version%22 %3A2%2C%22_category_%22%3A%22client_event%22%7D%5D HTTP/1.1 200 OK Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0 Content-Length: 0 Content-Type: text/html Date: Wed, 23 Jul 2014 18:18:25 GMT Expires: Tue, 31 Mar 1981 05:00:00 GMT Last-Modified: Wed, 23 Jul 2014 18:18:25 GMT P3P: CP="CAO DSP LAW CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa OUR BUS IND UNI COM NAV INT" Pragma: no-cache Server: tfe status: 200 OK Strict-Transport-Security: max-age=631138519 x-content-type-options: nosniff x-frame-options: SAMEORIGIN x-transaction: 3001ad309131a6d2 x-xss-protection: 1; mode=block X-Firefox-Spdy: 3.1
0
|
210 / 169 / 24
Регистрация: 24.04.2012
Сообщений: 615
|
|
24.07.2014, 00:24 | 8 |
Не пользовался Synapse, к сожалению, в Indy http есть свойство redirect, нужно в true выставлять, наверняка и Synapse есть такое свойство.
1
|
17 / 17 / 7
Регистрация: 06.06.2010
Сообщений: 148
|
|
24.07.2014, 23:07 | 10 |
![]() Решение
Вот, воспользуйся
Код
function GetRedirectUrl: string; var i: integer; Line: string; begin Result:=''; for i := 0 to HTTP.Headers.Count-1 do begin Line:=LowerCase(HTTP.Headers[i]); if Pos('location:',Line)>0 then begin Result:=Trim(StringReplace(Line,'Location:','',[rfIgnoreCase])); Exit; end; end; end; Код
PostData := HTTP.HTTPMethod('POST','...',...); HTTP.HTTPMethod('GET',GetRedirectUrl()); А ещё лучше создать отдельный класс и не надо будет всегда создавать потоки. В работе проста, редирект и т.д. Если интересно, вот: Кликните здесь для просмотра всего текста
Код
TDHttp = class FCodePage: Cardinal; FSend: THttpSend; FReferer: string; function GetError: string; function GetRedirectUrl: string; function GET(AUrl: string): string; function POST(AUrl: string; AParams: TStringList): string; Constructor Create; overload; end; //......... constructor TDHttp.Create; begin FSend:=THttpSend.create; FSend.Protocol:='1.1'; FSend.Timeout:=3000; FCodePage:=CP_UTF8; FSend.UserAgent:='Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1'; FSend.MimeType :='application/x-www-form-urlencoded'; end; function TDHttp.GetError: string; begin Result:=''; if FSend.ResultCode>0 then Result:=Result+IntToStr(FSend.ResultCode); if FSend.ResultString<>'' then Result:=Result+': '+FSend.ResultString; end; function TDHttp.GetRedirectUrl: string; var i: integer; Line: string; begin Result:=''; for i := 0 to FSend.Headers.Count-1 do begin Line:=LowerCase(FSend.Headers[i]); if Pos('location:',Line)>0 then begin Result:=Trim(StringReplace(Line,'Location:','',[rfIgnoreCase])); Exit; end; end; end; function TDHttp.GET(AUrl: string): string; var Stream: TStringStream; RedirectUrl: string; begin try Stream:=TStringStream.Create(''); try FSend.Headers.Clear; FSend.Document.Clear; if FReferer<>'' then FSend.Headers.Add('Referer: '+FReferer); if FSend.HTTPMethod('GET', AUrl) then begin FSend.Document.SaveToStream(Stream); Result:=Stream.DataString; RedirectUrl:=GetRedirectUrl; if RedirectUrl<>'' then Result:=GET(RedirectUrl); end else raise Exception.Create(GetError); finally Stream.Free; end; except on E: Exception do raise Exception.Create('TDHttp.GET('+AUrl+'): '+E.Message); end; end; function TDHttp.POST(AUrl: string; AParams: TStringList): string; var Stream: TStringStream; RedirectUrl: string; i: integer; begin try Stream:=TStringStream.Create(''); try FSend.Headers.Clear; FSend.Document.Clear; if FReferer<>'' then FSend.Headers.Add('Referer: '+FReferer); for i := 0 to AParams.Count-1 do if i=0 then Stream.WriteString(AParams[i]) else Stream.WriteString('&'+AParams[i]); FSend.Document.LoadFromStream(Stream); if FSend.HTTPMethod('POST',AUrl) then begin FSend.Document.SaveToStream(Stream); Result:=Stream.DataString; RedirectUrl:=GetRedirectUrl; if RedirectUrl<>'' then Result:=GET(RedirectUrl); end else raise Exception.Create(GetError); finally Stream.Free; end; except on E: Exception do raise Exception.Create('TDHttp.POST('+AUrl+'): '+E.Message); end; end; Код
var http: TDHTTP; T: TStringList; begin http := TDHTTP.Create; T := TStringList.Create; // пример указания параметров http.FSend.Headers.Add('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'); http.FSend.Headers.Add('Host: mysite.com'); http.FSend.MimeType := 'application/x-www-form-urlencoded'; //если нужно использовать реферер то вот так: http.FReferer := 'http://mysite.com/login'; // пример указания параметров T.Add('username=11'); T.Add('password=22'); http.Post('http://mysite.com', T); // post запрос http.Get('http://mysite.com'); // get запрос end;
1
|
25.07.2014, 12:09 [ТС] | 11 |
Ну про второй способ (
Я просто не могу пока понять даже систему. Мне нужно: залогиниться в твиттере, запостить твит, выйти. Вот я пытаюсь логиниться, код уже писал в первых постах в теме, в любом случае мне возвращает 302 found и редирект на https://mobile.twitter.com/session/new . Значит не получается, значит залогиниться не выходит? а почему? как залогиниться? Добавлено через 4 минуты вот что в куки добавляется, когда я логинюсь Кликните здесь для просмотра всего текста
_mb_tk=0a2621e1419d16ffe2d6
d=32 req_country=Ukraine req_country_code=UA req_ip=92.113.222.228 _mobile_sess=BAh7CDoLcmVwX2lkSSIpNTMyZjU0ZTAtZjVmZ i0wMTMxLWI2OTAtMDAwMmM5%0AZTk2NTQwBjoGRVQ6EF9jc3Jm X3Rva2VuIhkxYWU1NDVhYTk3OTM4NjFhYmIz%0AYjoabGFzdF9 1cmxfYmVmb3JlX2xvZ2luSSIRL3Nlc3Npb24vbmV3BjsGVA%3D %3D%0A--90c6e3af3997d6acf50bb5c6b297bcdd6b2d892d guest_id=v1%3A140627508198757916 я зашел через браузер, и залогинился сам(вне программы), посмотрел сниффер, там при успешной регистрации в куках вот такое: Кликните здесь для просмотра всего текста
Set-Cookie: twid="u=2391553824"; Path=/; Domain=.twitter.com; Secure
Set-Cookie: remember_checked_on=0; Expires=Mon, 22 Jul 2024 07:36:10 GMT; Path=/; Domain=.twitter.com Set-Cookie: _mb_tk=; Expires=Thu, 01 Jan 1970 00:00:00 GMT Set-Cookie: auth_token=ff11d0e71e5d6b05afd50e88b066692644bd96d 8; Path=/; Domain=.twitter.com; Secure; HTTPOnly Set-Cookie: _twitter_sess=BAh7CiIKZmxhc2hJQzonQWN0aW9uQ29udHJv bGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7A DoMY3NyZl9pZCIlNGFhNzJjZGM2MGZjMzI3MDcz%250AZDQ2ZW Q4ZjVlOTkzNzM6B2lkIiUwMzUxMTg0NjY0YzEzYmQ5NDUyODA5 MDhk%250AZTMzOWMxMjoJdXNlcmwrByA3jI46D2NyZWF0ZWRfY XRsKwgR0nJsRwE%253D--d21fd062248ff8bc9ed5fd5244cf8b846d5e08a4; Path=/; Domain=.twitter.com; Secure; HTTPOnly Там тоже идет редирект, но не на страницу авторизации а на главную страницу твиттера.. Получается что просто не получается авторизоваться.. логин и пароль - правильные.. ХОТЯ я не уверен за символ собаки. я его пишу так: email%40bk.ru , потому что в сниффере браузера было так.. Добавлено через 7 минут хотя вот я смотрю в браузере, когда авторизовуюсь, передаются еще и куки какие-то в запросе? В куках какой-то ид, и еще какие-то значения. может мне тоже перед запросом куки устанавливать такие? только какие значения туда ставить? вот куки, которые в запросе Кликните здесь для просмотра всего текста
Cookie: guest_id=v1%3A140597277385268152; _ga=GA1.2.292430496.1405972780; remember_checked_on=0; eu_cn=1; d=32; req_country=Ukraine; req_country_code=UA; req_ip=92.113.222.228; _mobile_sess=BAh7CDoLcmVwX2lkSSIpNTAyZTkzZjAtZjM0M S0wMTMxLTAxYWMtMmM3Njhh%0ANGY3NmIwBjoGRVQ6EF9jc3Jm X3Rva2VuIhljMTAzMDczOWNhYTM1Yzg0ZDc5%0AMjoabGFzdF9 1cmxfYmVmb3JlX2xvZ2luMA%3D%3D%0A--44ff90370567b5841abefa3efe9373105ce5d1e3; mlang=ru; u=266427f65ead3ab0d16332962293c02f7c5090b5; __utma=43838368.292430496.1405972780.1406134704.14 06139402.2; __utmz=43838368.1406134704.1.1.utmcsr=(direct)|utm ccn=(direct)|utmcmd=(none); pid="v3:1406139463384267108108840"; error_csrf_tkn=130218de4b8gan7wt; _mb_tk=c1030739caa35c84d792
0
|
17 / 17 / 7
Регистрация: 06.06.2010
Сообщений: 148
|
|
25.07.2014, 12:09 | 12 |
Сейчас зарегаюсь в твиттере, попробую написать авторизацию.
1
|
25.07.2014, 12:19 [ТС] | 13 |
буду очень благодарен если поможете) сейчас попробовал те куки добавить перед выполнением запроса, все равно 302 found, и локейшин не mobile.twitter.com а mobile.twitter.com/session/new (страница авторизации)
0
|
17 / 17 / 7
Регистрация: 06.06.2010
Сообщений: 148
|
|
25.07.2014, 12:58 | 14 |
![]() Решение
Всё отлично, работает. При успешной авторизации в мемо выводит 'ok', при проваленной 'false'.
Потом делаете, например, Post запрос на твит и дальше твитаете, я сейчас может сделаю примерчик, как твит добавить.
1
|
17 / 17 / 7
Регистрация: 06.06.2010
Сообщений: 148
|
|
25.07.2014, 13:10 | 15 |
![]() Решение
Вот вам второй пример. Получает имя и никнейм пользователя. Ну а дальше ваша фантазия
![]()
1
|
17 / 17 / 7
Регистрация: 06.06.2010
Сообщений: 148
|
|
25.07.2014, 13:33 | 16 |
![]() Решение
Получаем имя и никнейм, возможность отправлять твит. То, что вам и нужно было. (русские знаки не твитает, возможно и с пробелами будет проблема, это всё решается заменой пробела на %20, а русских букв на соответствующие)
Извиняюсь за много отправленных сообщений. Старые к сожалению изменять нельзя
1
|
25.07.2014, 15:28 [ТС] | 18 |
один вопрос только есть, в приципе, он мне никак не мешает, но просто интересно.
Я вот логинюсь под своим акком, и мне пишет ваше имя в мемо, а не мое.. Хотя если посмотреть код, то он парсит ссылку с акком.. Как такое может быть?)
0
|
25.07.2014, 15:40 [ТС] | 19 |
пробовал перед авторизацией чистить куки fsend'a и document, но результат такой-же.. Если я пытаюсь запостить твит, то постит в мой аккаунт
Добавлено через 7 минут я также пробовал парсить не с того пост запроса с авторизацией, а отдельный гет запрос на сайт https://mobile.twitter.com , и все равно ваши данные, как такое получается?)
0
|
17 / 17 / 7
Регистрация: 06.06.2010
Сообщений: 148
|
|
25.07.2014, 15:57 | 20 |
Это как? У вас же там пишет "VityaPainer", а не моё
![]() Попробуйте после авторизации вывести в мемо Код
Memo1.Text := PostData; Добавлено через 6 минут Если у вас имя на русском то вместо Код
Memo1.Lines.Add('Ваше имя: '+str); Код
Memo1.Lines.Add('Ваше имя: '+Utf8ToAnsi(str));
1
|
25.07.2014, 15:57 | |
Помогаю со студенческими работами здесь
20
Cookie и Synapse Synapse or Indy Авторизация вк Synapse Synapse and Proxy Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |