проблемы с использованием CFHTTPSession.cfc (cfhttp) для входа на сайт

Я пытаюсь войти на сайт http://britishairways.com/ с помощью CFHTTPSession.cfc Бена Наделя, но у меня возникают проблемы заставить его работать. Я не уверен, что я упускаю или упускаю из виду.

Вот мой код:

<cfset objResponse = objHttpSession
    .NewRequest( "https://www.britishairways.com/travel/home/execclub/_gf/en_us" )
    .Get()/>

<cfset objResponse = objHttpSession
    .NewRequest( "https://www.britishairways.com/travel/loginr/public/en_us" )
    .AddFormField( "membershipNumber", "#username#" )
    .AddFormField( "password", "#password#") 
    .AddFormField( "Directional_Login","/travel/home/execclub/_gf/en_us" )
    .AddFormField( "eId", "109001") 
    .AddFormField( "URLMembershipType", "onbusiness") 
    .AddFormField( "rememberLogin", "false") 
    .Post()/>  

<cfset objResponse = objHttpSession
    .NewRequest( "https://www.britishairways.com/travel/home/execclub/_gf/en_us" ).Get()/>

person jeb    schedule 15.03.2015    source источник
comment
Можете ли вы уточнить, что вы имеете в виду, говоря о проблемах с работой? Каков фактический результат кода выше? Что вы ожидали, что он будет делать по-другому?   -  person Leigh    schedule 15.03.2015
comment
ах, извините за некоторую двусмысленность. Я ожидаю, что результатом последнего вызова .get() будет форма, показывающая, что я вошел в систему. Я попытался воспроизвести процессы входа в систему на основе просмотра того, что отправлено с помощью firebug, но по какой-то причине я не могу показаться к этому правильно. Последний вызов get() по-прежнему показывает форму, как если бы пользователь не вошел в систему.   -  person jeb    schedule 15.03.2015


Ответы (1)


Большинство авиакомпаний (и других сайтов, связанных с путешествиями) имеют довольно жесткие системы мониторинга того, что они называют «очисткой экрана», например. автоматические попытки взлома их систем, так что вы, вероятно, сталкиваетесь с этим как с препятствием.

Кроме того, делая то, что вы делаете, вы нарушаете условия использования их веб-сайта (http://www.britishairways.com/en-gb/information/legal/website-terms-conditions), в частности:

использовать «очистку экрана», любой автоматизированный алгоритм, устройство, метод, систему, программное обеспечение или ручной процесс для доступа, использования, поиска, копирования, мониторинга или извлечения Материалов (полностью или частично) с или посредством использования этого веб-сайта, если Мы не предоставили Наше прямое письменное соглашение;

Таким образом, вы можете столкнуться с судебным иском против вас со стороны BA за то, что вы делаете. Я бы остановился.

Извините, я уверен, что это не то, что вы хотите услышать.

person andrewdixon    schedule 15.03.2015