使用CFHTTPSession.cfc(cfhttp)登录网站时出现问题

时间:2015-03-15 00:03:08

标签: coldfusion cfhttp

我正在尝试使用Ben Nadel的CFHTTPSession.cfc登录http://britishairways.com/,但我无法让它工作。我不确定我错过了什么或忽略了什么。

这是我的代码:     

<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()/>

1 个答案:

答案 0 :(得分:4)

大多数航空公司(以及其他与旅行相关的网站)都有相当严格的系统来监控他们所称的“屏幕抓取”,例如屏幕抓取等。对他们的系统进行自动尝试,因此您可能会遇到障碍。

同样,通过做你正在做的事情,你违反了他们的网站使用条款(http://www.britishairways.com/en-gb/information/legal/website-terms-conditions),特别是:

  

使用'屏幕抓取',任何自动算法,设备,方法,系统,软件或手动过程来访问,使用,搜索,复制,监控或提取材料(全部或部分)来自或通过使用本网站,除非我们已经明确书面同意;

因此,您可能会因BA而面临法律诉讼。我会停下来。

对不起,我确定这不是你想听到的。