В частности, я хотел бы иметь возможность загружать определенные страницы из моего профиля пользователя на различных сайтах Stack Exchange. Я хотел бы, однако, сделать это автоматически (с помощью cron
задания), из командной строки и в формате для анализа. Я предпочитаю использовать Linux для этого, но при необходимости могу получить доступ к компьютеру Mac или Windows.
В идеале, я хотел бы использовать такой инструмент, как Wget или cURL для извлечения страниц. Я не знаю, как пройти мимо входа в систему, хотя. Я видел предложения, в которых упоминается, что вы можете войти через Firefox, экспортировать соответствующий cookie и импортировать его в Wget через его --load-cookies
опцию. Например здесь и здесь . Хотя это работает, если я только что вошел в систему, это не так через некоторое время. Я думаю, потому что идентификационный токен должен быть обновлен.
Итак, сразу после входа в SU и экспорта моих куки я могу сделать:
wget --load-cookies cookies.txt \
https://superuser.com/users/151431/terdon?tab=responses
Однако через несколько минут я получаю сообщение об ошибке 404:
wget -O ~/stack/$(date +%s) --load-cookies ~/cookies.txt \
https://superuser.com/users/151431/terdon?tab=responses
--2013-08-06 04:04:14-- https://superuser.com/users/151431/terdon?tab=responses
Resolving superuser.com (superuser.com)... 198.252.206.16
Connecting to superuser.com (superuser.com)|198.252.206.16|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2013-08-06 04:04:15 ERROR 404: Not Found.
Итак, как я могу автоматически войти на сайт с поддержкой OpenID из командной строки?
PS. Я думаю, что это лучше подходит здесь, чем в веб-приложениях, так как мой вопрос на самом деле касается аспекта командной строки, а не фактических деталей рассматриваемой веб-страницы. Я предполагаю, что любое решение будет применимо ко всем сайтам OpenID .