Вопрос

Я пытаюсь превратить свой портфель акций в сценарий.Следующее работает с NAB Online Trading, но не Звонок Прямой.

  • установите Экспорт файлов cookie Домена Аддон для Firefox
  • войдите в мой онлайн-брокер с помощью Firefox
  • сохраните файлы cookie домена в файл (например cookies.txt)
  • wget --no-check-certificate --load-cookies=cookies.txt -O folio.htm https://...(URL портфолио)

-- Идея состоит в том, чтобы повторно использовать сеанс входа в систему браузера.Когда я попробую это с Bell Direct, wget перенаправляется на страницу входа в систему.Я получаю те же результаты с curl.Что я упускаю из виду?Есть ли какое-то состояние, которое сохраняется в браузере помимо файлов cookie?Bell не использует "базовую аутентификацию", потому что страница входа в систему представляет собой форму для ввода имени пользователя / пароля - она не открывает встроенное диалоговое окно входа в браузер.

Вот что происходит (под Windows XP с Cygwin):

$ wget --server-response --no-check-certificate --load-cookies=cookies-bell.txt -O folio-bell.htm https://www.belldirect.com.au/trade/portfoliomanager/
--2009-12-14 10:52:08-- https://www.belldirect.com.au/trade/portfoliomanager/
Resolving www.belldirect.com.au... 202.164.26.80
Connecting to www.belldirect.com.au|202.164.26.80|:443... connected.
WARNING: cannot verify www.belldirect.com.au's certificate, issued by '/C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Server CA/emailAddress=server-certs@thawte.com':
Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response...
HTTP/1.1 302 Found
Connection: keep-alive
Date: Sun, 13 Dec 2009 23:52:16 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Location: /account/login.html?redirect=https://www.belldirect.com.au/trade/portfoliomanager/index.html
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 229
Location: /account/login.html?redirect=https://www.belldirect.com.au/trade/portfoliomanager/index.html [following]
...

Это было полезно?

Решение

Возможно, сервер проверяет сеанс на основе пользовательского агента, а также файла cookie.Проверьте, какой пользовательский агент используется в вашей установке Firefox (возможно, используйте WhatIsMyUserAgent.com если вы этого не знаете), и попробуйте использовать тот же пользовательский агент в вашем вызове Wget (через параметр --user-agent="...").

Другие советы

Вам нужно ОПУБЛИКОВАТЬ переменные формы входа, затем с этими файлами cookie перейти на внутреннюю страницу.

http://www.trap17.com/index.php/automatic-login-curl_t38162.html для некоторого примера кода.

Вход в систему зашифрован по протоколу HTTPS, и вы не предоставляете сертификат.Возможно, belldirect требует действительный сертификат для аутентификации клиента.

Вы можете экспортировать сертификат в Firefox, щелкнув выделенную синим цветом часть URL-адреса > Дополнительная информация > Вкладка безопасность> Просмотр сертификата> Сведения> Экспорт.Затем вы можете использовать --certificate=filename возможность указать экспортированный сертификат в вашем wget команда.

Возможно, вам тоже нужно установить реферера.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top