Возможно ли сделать часть веб-потока в Perl, а затем передать оставшуюся часть сессии Firefox?
Мне нужно повторить попытку (с помощью Perl) войти на веб-сайт, который возвращает 500 каждый раз, после успешного входа в систему, передавать аутентифицированный сеанс в Firefox, откуда я могу продолжить обычный просмотр. Это возможно?
Если это возможно, как мне это сделать? Можете ли вы указать мне некоторые ресурсы о том, как передать файл cookie/сеанс и т. Д.?Как я могу автоматизировать и обмениваться сеансами между Firefox и Perl?
ответ
Tricky. Вы будете не сможете подключить ваш сервер к сторонней службе, а затем просто передать cookie сессии своему пользователю и перенаправить его на стороннее приложение. Это не будет работать, поскольку файлы cookie являются специфичными для домена, а домены не могут получать доступ к файлам cookie или устанавливать их другим доменом.
Таким образом, ваш сервис должен будет действовать как интерфейс к стороннему сервису, и поэтому вам необходимо будет поддерживать сеанс пользователя на вашем сервере. Этот сеанс пользователя отслеживает вашего пользователя, будет регистрироваться в стороннем сервисе и, при необходимости, будет обращаться к стороннему сервису. Сеанс на вашем сервере будет http-клиентом для этой сторонней службы, поэтому он должен будет правильно обрабатывать файлы cookie, т. Е. Имитировать браузер.
С точки зрения настройки и обслуживания пользовательских сеансов будет создано несколько модулей CPAN, которые помогут вам в этом.
Для получения дополнительной информации об управлении пользовательскими сеансами в Perl см https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-1044683.html
Edit: некоторые веб-сервисы могут управлять пользовательскими сеансами, вводя идентификатор сессии в URL, когда клиент отказывается от печенья. Если ваша сторонняя служба сделает это, вы можете просто подать URL-адрес ответа на вход в качестве перенаправления на пользователя. Однако это будет нарушено, если сеансы привязаны к IP.
- 1. Как я могу обмениваться сеансами между приложением Rails3 и Cramp?
- 2. Как обмениваться сеансами между независимыми экземплярами tomcat
- 3. Node.js - Как обмениваться сеансами между HTTP-сервером и сетевым сервером?
- 4. Как я могу обмениваться объектами между потоками в Perl?
- 5. Как я могу автоматизировать установку/скрипт Perl
- 6. Как я могу обмениваться объектом между запущенной службой и активностью
- 7. Как обмениваться сеансами в установленных приложениях
- 8. Как поделиться сеансами между PHP и ASP.net?
- 9. Как я могу обмениваться данными между потоками?
- 10. Как я могу обмениваться сеансами (куки) между субдоменами с разными доменами верхнего уровня (tld)
- 11. Как обмениваться локалями (chrome и firefox)
- 12. Как обмениваться сеансами между субдоменами с Rails 2.3.8
- 13. разные между просмотром и сеансами?
- 14. Как я могу автоматизировать серию тестов в Perl?
- 15. Как обмениваться данными между expressjs и angularjs
- 16. Как я могу автоматизировать тестирование веб-сайта с помощью Perl?
- 17. Как я могу автоматизировать установку библиотеки Redis Perl для icinga?
- 18. Как обмениваться кукисами между domain.com и www.domain.com?
- 19. Как обмениваться соединением между фрагментом и активностью
- 20. Как обмениваться услугами и заявлять между ngModules
- 21. Как я могу управлять сеансами и транзакциями в спящем режиме?
- 22. Не помните файлы и изменения между сеансами
- 23. Как я могу обмениваться кодами между несколькими действиями в Android?
- 24. Как я могу автоматизировать викторину?
- 25. Symfony 2 - Как я могу обмениваться данными между контроллерами
- 26. Как я могу обмениваться памятью между процессами в MATLAB?
- 27. Как я могу обмениваться глобальными элементами между потоками мула
- 28. Как я могу обмениваться базой данных между пакетами в Go?
- 29. Как я могу обмениваться общими компонентами между веб-приложениями Java?
- 30. Как я могу обмениваться данными между страницами PHP?
Почему вы говорите, что не можете этого сделать? Ваш скрипт Perl использует файл cookie Firefox, сохраняет все новые куки-файлы, которые он получает, в тот же файл cookie, а затем перезагружает Firefox, который затем использует тот же файл cookie. Я иногда это делаю, поэтому я парень, который написал много модулей HTTP :: Cookies. –
@brian: Возможно, я неправильно понял вопрос. Я думал, что он говорит о веб-службе, которая вошла в какую-то другую службу, передав сеанс своему пользователю. –