- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 API,它登录一个帐户,然后对我想通过 CFHTTP 请求出价的项目执行搜索,如下所示。
搜索.cfm:
<cfinclude template="logMeIn.cfm" />
<cfhttp url="https://utas.fut.ea.com/ut/game/fifa14/transfermarket?maxb=1800000&start=0&num=16&type=player&maskedDefId=158023" method="POST" result="Get">
<cfhttpparam type="header" name="Cache-Control" value="no-cache" />
<cfhttpparam type="header" name="Host" value="utas.fut.ea.com" />
<cfhttpparam type="header" name="Referer" value="http://cdn.easf.www.easports.com/soccer/static/flash/futFifaUltimateTeamPlugin/FifaUltimateTeam.swf" />
<cfhttpparam type="header" name="X-HTTP-Method-Override" value="GET" />
<cfhttpparam type="header" name="X-UT-PHISHING-TOKEN" value="#ListLast(Session.searchAccount40PhishingKey,'=')#" />
<cfhttpparam type="header" name="X-UT-SID" value="#Session.searchAccount40SessionKey#" />
</cfhttp>
<cfscript>
Variables.email = "XYZ@example.com";
Variables.password = "password";
Variables.secretAnswer = "secretAnswer";
Session.searchAccountGamertag = "WirierJupiter11";
Variables.doReload = 0;
Variables.deviceView = "device=not_mobile";
</cfscript>
<cfhttp url="http://www.easports.com/uk/fifa/football-club/ultimate-team" method="GET" result="stage1" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Host" value="www.easports.com" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
<cfif StructKeyExists(Stage1.ResponseHeader,"Location")>
<cfscript>
Variables.stage2URL = Stage1.ResponseHeader['Location'];
Variables.returnedCookies = Stage1.ResponseHeader['Set-Cookie'];
Variables.easfcWebSessionStr = Variables.returnedCookies[1];
Variables.easfcWebSession = ListFirst(Variables.easfcWebSessionStr,";");
Variables.hlStr = Variables.returnedCookies[2];
Variables.hl = ListFirst(Variables.hlStr,";");
Variables.xsrfTokenStr = Variables.returnedCookies[3];
Variables.xsrfToken = ListFirst(Variables.xsrfTokenStr,";");
</cfscript>
<cfhttp url="#Variables.stage2URL#" method="GET" result="Stage2" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Host" value="accounts.ea.com" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Variables,"Stage2") AND StructKeyExists(Stage2.ResponseHeader,"Location")>
<cfscript>
Variables.stage3URL = Stage2.ResponseHeader['Location'];
</cfscript>
<cfhttp url="#Variables.stage3URL#" method="GET" result="Stage3" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Host" value="signin.ea.com" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Variables,"Stage3") AND StructKeyExists(Stage3.ResponseHeader,"Location")>
<cfscript>
Variables.stage4URL = Stage3.ResponseHeader['Location'];
Variables.jSessionStr = Stage3.ResponseHeader['Set-Cookie'];
Variables.jSession = ListFirst(Variables.jSessionStr,";");
</cfscript>
<cfhttp url="#Variables.stage4URL#" method="GET" result="Stage4" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Cookie" value="#Variables.jSession#" />
<cfhttpparam type="header" name="Host" value="signin.ea.com" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
<cfscript>
Variables.bodyContent = "email=#Variables.email#&password=#Variables.password#&_rememberMe=on&rememberMe=on&_eventId=submit&facebookAuth=";
Variables.contentLength = Len(Variables.bodyContent);
</cfscript>
<cfhttp url="#Variables.stage4URL#" method="POST" result="Stage5" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Cache-Control" value="no-cache" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Content-Length" value="#Variables.contentLength#" />
<cfhttpparam type="header" name="Content-Type" value="application/x-www-form-urlencoded" />
<cfhttpparam type="header" name="Cookie" value="#Variables.jSession#" />
<cfhttpparam type="header" name="Host" value="signin.ea.com" />
<cfhttpparam type="header" name="Referer" value="#Variables.stage4URL#" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
<cfhttpparam type="body" value="#Variables.bodyContent#" />
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Variables,"Stage5") AND StructKeyExists(Stage5.ResponseHeader,"Location")>
<cfscript>
Variables.stage6URL = Stage5.ResponseHeader['Location'];
Variables.returnedCookies = Stage5.ResponseHeader['Set-Cookie'];
Variables.webunStr = Variables.returnedCookies[3];
Variables.webun = ListFirst(Variables.webunStr,";");
Variables.isPogoStr = Variables.returnedCookies[4];
Variables.isPogo = ListFirst(Variables.isPogoStr,";");
</cfscript>
<cfhttp url="#Variables.stage6URL#" method="GET" result="Stage6" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Cache-Control" value="no-cache" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Cookie" value="s_sivo=US%3AORIGIN%3ANONE; s_cc=true; s_ria=flash%2010%7Csilverlight%202.9; s_pv=NA%3AUS%3ASTORE%3ANONE%3ASTORE%3ANONE%3AORIGIN%3ANONE%3ALOGIN; s_nr1=1379427845791-NEW; s_sq=%5B%5BB%5D%5D; __utma=103303007.1129861060.1379427834.1379427834.1379427834.1; __utmb=103303007.1.10.1379427834; __utmc=103303007; __utmz=103303007.1379427834.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); s_ppv=85">
<cfhttpparam type="header" name="Host" value="accounts.ea.com" />
<cfhttpparam type="header" name="Referer" value="#Variables.stage4URL#" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Variables,"Stage6") AND StructKeyExists(Stage6.ResponseHeader,"Location")>
<cfscript>
Variables.stage7URL = Stage6.ResponseHeader['Location'];
Variables.returnedCookies = Stage6.ResponseHeader['Set-Cookie'];
Variables.sidStr = Variables.returnedCookies[1];
Variables.sid = ListFirst(Variables.sidStr,";");
Variables.remidStr = Variables.returnedCookies[2];
Variables.remid = ListFirst(Variables.remidStr,";");
Variables.cookieStr = Variables.easfcWebSession & "; " & Variables.hl & "; " & Variables.xsrfToken;
</cfscript>
<cfhttp url="#Variables.stage7URL#" method="GET" result="Stage7" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Cache-Control" value="no-cache" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Cookie" value="#Variables.cookieStr#" />
<cfhttpparam type="header" name="Host" value="www.easports.com" />
<cfhttpparam type="header" name="Pragma" value="no-cache" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Variables,"Stage7") AND StructKeyExists(Stage7.ResponseHeader,"Location")>
<cfscript>
Variables.stage8URL = Stage7.ResponseHeader['Location'];
Variables.easfcWebSessionStr = Stage7.ResponseHeader['Set-Cookie'];
Variables.easfcWebSession = ListFirst(Variables.easfcWebSessionStr,";");
Variables.cookieStr = Variables.easfcWebSession & "; " & Variables.hl & "; " & Variables.xsrfToken;
</cfscript>
<cfhttp url="#Variables.stage8URL#" method="GET" result="Stage8" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Cache-Control" value="no-cache" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Cookie" value="#Variables.cookieStr#" />
<cfhttpparam type="header" name="Host" value="www.easports.com" />
<cfhttpparam type="header" name="Pragma" value="no-cache" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Variables,"Stage8") AND StructKeyExists(Stage8.ResponseHeader,"Set-Cookie")>
<cfscript>
Variables.stage9URL = "http://www.easports.com/iframe/fut/?locale=en_GB&baseShowoffUrl=http%3A%2F%2Fwww.easports.com%2Fuk%2Ffifa%2Ffootball-club%2Fultimate-team%2Fshow-off&guest_app_uri=http%3A%2F%2Fwww.easports.com%2Fuk%2Ffifa%2Ffootball-club%2Fultimate-team";
Variables.returnedCookies = Stage8.ResponseHeader['Set-Cookie'];
Variables.deviceView = ListFirst(Variables.returnedCookies,";");
Variables.cookieStr = Variables.cookieStr & "; " & Variables.deviceView;
</cfscript>
<cfhttp url="#Variables.stage9URL#" method="GET" result="Stage9" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Cookie" value="#Variables.cookieStr#" />
<cfhttpparam type="header" name="Host" value="www.easports.com" />
<cfhttpparam type="header" name="Referer" value="http://www.easports.com/uk/fifa/football-club/ultimate-team" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Variables,"Stage9") AND StructKeyExists(Stage9.ResponseHeader,"Location")>
<cfscript>
Variables.stage10URL = Stage9.ResponseHeader['Location'];
Variables.futWebStr = Stage9.ResponseHeader['Set-Cookie'];
Variables.futWeb = ListFirst(Variables.futWebStr,";");
Variables.cookieStr = Variables.remid & "; " & Variables.sid;
</cfscript>
<cfhttp url="#Variables.stage10URL#" method="GET" result="Stage10" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Cookie" value="#Variables.cookieStr#" />
<cfhttpparam type="header" name="Host" value="accounts.ea.com" />
<cfhttpparam type="header" name="Referer" value="http://www.easports.com/uk/fifa/football-club/ultimate-team" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Variables,"Stage10") AND StructKeyExists(Stage10.ResponseHeader,"Location")>
<cfscript>
Variables.stage11URL = Stage10.ResponseHeader['Location'];
Variables.sidStr = Stage10.ResponseHeader['Set-Cookie'];
Variables.sid = ListFirst(Variables.sidStr,";");
Variables.cookieStr = Variables.futWeb & "; " & Variables.easfcWebSession & "; " & Variables.hl & "; " & Variables.xsrfToken & "; " & Variables.deviceView;
</cfscript>
<cfhttp url="#Variables.stage11URL#" method="GET" result="Stage11" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Cookie" value="#Variables.cookieStr#" />
<cfhttpparam type="header" name="Host" value="www.easports.com" />
<cfhttpparam type="header" name="Referer" value="http://www.easports.com/fifa/football-club/ultimate-team" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Variables,"Stage11") AND StructKeyExists(Stage11.ResponseHeader,"Location")>
<cfscript>
Variables.stage12URL = Stage11.ResponseHeader['Location'];
Variables.futWebStr = Stage11.ResponseHeader['Set-Cookie'];
Variables.futWeb = ListFirst(Variables.futWebStr,";");
Session.searchAccountCookie = Variables.futWeb & "; " & Variables.easfcWebSession & "; " & Variables.hl & "; " & Variables.xsrfToken & "; " & Variables.deviceView;
</cfscript>
<cfhttp url="#Variables.stage12URL#" method="GET" result="Stage12" redirect="false">
<cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Cookie" value="#Session.searchAccountCookie#" />
<cfhttpparam type="header" name="Host" value="www.easports.com" />
<cfhttpparam type="header" name="Referer" value="http://www.easports.com/fifa/football-club/ultimate-team" />
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Session,"searchAccountCookie")>
<cfscript>
Variables.data = '{ "isReadOnly": false, "sku": "FUT14WEB", "clientVersion": 1, "nuc": 1000215983198, "nucleusPersonaId": 948682854"nucleusPersonaDisplayName": "WirierJupiter11", "nucleusPersonaPlatform": "360", "locale": "en-GB", "method": "authcode", "priorityLevel":4, "identification": { "authCode": "" } }';
Variables.dataLength = Len(Variables.data);
</cfscript>
<cfhttp url="http://www.easports.com/iframe/fut/p/ut/auth" method="POST" result="sessionIDRequest">
<cfhttpparam type="header" name="Accept" value="application/json, text/javascript" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Content-Length" value="#Variables.dataLength#" />
<cfhttpparam type="header" name="Content-Type" value="application/json" />
<cfhttpparam type="header" name="Cookie" value="#Session.searchAccountCookie#" />
<cfhttpparam type="header" name="Easw-Session-Data-Nucleus-ID" value="1000215983198" />
<cfhttpparam type="header" name="Host" value="www.easports.com" />
<cfhttpparam type="header" name="Pragma" value="no-cache" />
<cfhttpparam type="header" name="Referer" value=" http://www.easports.com/iframe/fut/?baseShowoffUrl=http%3A%2F%2Fwww.easports.com%2Fuk%2Ffifa%2Ffootball-club%2Fultimate-team%2Fshow-off&guest_app_uri=http%3A%2F%2Fwww.easports.com%2Fuk%2Ffifa%2Ffootball-club%2Fultimate-team&locale=en_GB">
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
<cfhttpparam type="header" name="X-UT-Embed-Error" value="true" />
<cfhttpparam type="header" name="X-UT-Route" value="https://utas.fut.ea.com:443" />
<cfhttpparam type="header" name="X-Requested-With" value="XMLHttpRequest" />
<cfhttpparam type="body" value="#Variables.data#" />
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Variables,"sessionIDRequest") AND Variables.sessionIDRequest.FileContent NEQ "Connection Failure" AND Variables.sessionIDRequest.StatusCode NEQ "500 Internal Server Error">
<cfscript>
Variables.sessionKeyRequest = REReplace(Variables.sessionIDRequest.FileContent, "^\s*[[:word:]]*\s*\(\s*","");
Variables.sessionKeyRequest = REReplace(Variables.sessionKeyRequest, "\s*\)\s*$", "");
Variables.sessionInfo = DeserializeJSON(Variables.sessionKeyRequest);
Session.searchAccountSessionKey = Variables.sessionInfo.sid;
</cfscript>
<cfhttp url="http://www.easports.com/iframe/fut/p/ut/game/fifa14/phishing/validate" method="POST" result="phishingKeyRequest">
<cfhttpparam type="header" name="Accept" value="application/json" />
<cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
<cfhttpparam type="header" name="Connection" value="keep-alive" />
<cfhttpparam type="header" name="Content-Length" value="39" />
<cfhttpparam type="header" name="Content-Type" value="application/x-www-form-urlencoded" />
<cfhttpparam type="header" name="Cookie" value="#Session.searchAccountCookie#" />
<cfhttpparam type="header" name="Easw-Session-Data-Nucleus-ID" value="1000215983198" />
<cfhttpparam type="header" name="Host" value="www.easports.com" />
<cfhttpparam type="header" name="Pragma" value="no-cache" />
<cfhttpparam type="header" name="Referer" value="http://www.easports.com/iframe/fut/?baseShowoffUrl=http%3A%2F%2Fwww.easports.com%2Fuk%2Ffifa%2Ffootball-club%2Fultimate-team%2Fshow-off&guest_app_uri=http%3A%2F%2Fwww.easports.com%2Fuk%2Ffifa%2Ffootball-club%2Fultimate-team&locale=en_GB">
<cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
<cfhttpparam type="header" name="X-UT-Embed-Error" value="true" />
<cfhttpparam type="header" name="X-UT-Route" value="https://utas.fut.ea.com:443" />
<cfhttpparam type="header" name="X-Requested-With" value="XMLHttpRequest" />
<cfhttpparam type="header" name="X-UT-SID" value="#Session.searchAccountSessionKey#" />
<cfhttpparam type="formField" name="answer" value="#Variables.secretAnswer#">
</cfhttp>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<cfif StructKeyExists(Variables,"phishingKeyRequest") AND StructKeyExists(Variables.phishingKeyRequest.ResponseHeader,"Set-Cookie")>
<cfscript>
Variables.returnedCookies = phishingKeyRequest.ResponseHeader["Set-Cookie"];
Session.searchAccountPhishingKey = ListFirst(Variables.returnedCookies,";");
if (StructKeyExists(Variables,"easfcWebSession")) {
Variables.cookieStr = Variables.easfcWebSession & "; " & Variables.hl & "; " & Variables.xsrfToken & "; device=not_mobile; " & Session.searchAccountPhishingKey;
Session.searchAccountLoggedIn = 1;
Session.searchAccountLoginAttempts = 0;
} else {
Variables.doReload = 1;
}
</cfscript>
<cfelse>
<cfset Variables.doReload = 1 />
</cfif>
<!--- IF RELOAD PAGE FLAG SET TO TRUE RELOAD --->
<cfif Variables.doReload EQ 1>
<!--- RELOAD PAGE --->
<script>
location.reload();
</script>
</cfif>
最佳答案
CFHTTP 将打开一个连接,发出请求,然后关闭连接。如果我没看错,您的 logMeIn.cfm 正在发出 14 个 http 请求。设置每个连接需要花费大量时间。
我认为你有两种选择:
提前登录
是否可以在线程中或使用 CF 调度程序定期运行 logMeIn.cfm 并将 searchAccount40SessionKey 值保留在应用程序范围内?您的代码可以发出请求并查看 session ID 是否仍然有效。如果是,就留下吧。如果没有,请完成登录过程。
如果您的站点支持许多用户,这可能不是一种可扩展的方法。如果它适用于少数人,它可能会起作用
使用不同的 HTTP 库。
CF 附带 HTTPClient(我认为,现在只需下载即可检查)。那有能力做连接管理。这样,您应该能够在所有请求中保持单个连接。这将意味着重写您的大部分代码,但您应该会看到显着的速度提升。您也可以稍微简化一些事情,因为 HTTPClient 可以对 cookie/location 头和重定向进行一些管理。
看看这个答案:Understanding Persistent HTTP Connections in ColdFusion
如果您还没有这样做,请通过 Fiddler 代理您的请求,这样您就可以看到客户端/服务器是如何交互的。要使用 Fiddler,请安装它,启动它,然后修改您的 CFHTTP 调用以使用 proxyServer=localhost 和 proxyPort=8888。然后,您将看到列出的 HTTP 调用。在这种工作中它是无价的。它还可以让您将请求拖到 Composer 选项卡中,对其进行一些编辑,然后重新发送它,这比重新编写代码要快得多,只是为了尝试一些东西。
更新
@CPB07 在评论中添加了更多细节。 session ID 已经缓存并保存在 session 中,这意味着第一个建议已经实现。另一位信息是 search.cfm 每 335 毫秒被调用一次,这就是需要优化的内容。
鉴于此,我能想到的最佳改进是将 search.cfm 中的 CFHTTP 调用切换为使用 HTTPClient。 CF10 附带了 HTTPComponents 的 HTTPClient 的最新版本,因此在 this page 的第 2.3 节中列出的代码应该大致是你所追求的。 2.3.1 节中的示例使用了一个 HTTPContext,它有一个 getCookieStore() 方法,它有一个 addCookie() 方法,它允许您设置 session cookie 并在每个请求中使用它。粗略地说,该代码中 try 块之外的所有内容都可以运行一次并将对象存储在 session 中,然后每次都可以运行实际的请求/连接打开。
另一件要考虑的事情是您首先是如何执行代码的。您说您对线程不太熟悉,我猜这意味着您正在使用调度程序或 AJAX 进行轮询。通过在线程中运行轮询代码,您可能会获得更一致的结果,但这会增加复杂性。
更新 2
使用Fiddler访问search.cfm中的URL,查看统计选项卡,两个关键数字是:
关于web-services - 改善 CFHTTP 响应时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20719219/
我正在使用 choronos,它建议使用 start/stop 命令开始停止,如下所示 开始计时 停止计时 但是,我正在编写 puppet manifest,它只适用于下面的服务命令。 服务计时开始
来历及作用 services.exe进程程序文件是由微软公司为其发布的Windows操作系统定义的一个系统进程,常见于Windows 2000/XP/Vista/2007等系统中,被描述为服务和控
我一直在尝试使用installutil:installutil /u GSIS.FileMoverService.exe安装Windows服务。 我得到的输出是: Uninstalling assem
如果一个域有多个团队和多个 Web 应用程序,那么注册 Service Worker 来管理整个站点的最佳建议是什么?具有范围的顶级服务 worker /或子域中的多个服务 worker ?由于一个域
我已经在 eclipse 中创建了企业项目。动态web项目和ejb项目对企业项目有借鉴意义。当我运行管理员(企业项目)运行时选择 wildfly 服务器 18。我收到以下错误。谁能告诉我我错过了什么。
我已经使用 apache-cxf-2.7.4 创建了一个 Web 服务。我进入了我的项目中制作的类(class)。我的项目中的库是: math3-commons-3.2.jar XStream-1.4
我在域中的 Virtual Box 中运行集群计算机,默认情况下服务在 Network 服务下运行,服务一直停止,事件日志中出现以下错误。 请从下面的错误日志中查找错误详细信息。任何帮助都会很棒。 L
在我的应用程序中,用户可以在 map 上发布事件。应用程序的入口点是一个无状态的 web api 服务。为了在内部代表用户,我想要一个用户服务。我应该何时使用 Reliable Stateful Ac
当我尝试运行在WIX中创建的安装程序时,出现以下错误消息: “服务'Report Generator Service'(报告生成器服务)无法启动。请验证您是否具有启动系统服务的足够特权”。 我已经在这
尝试使用 cloudformation 创建 ECS 服务(在 Fargate 上)但出现错误: Invalid service in ARN (Service: AmazonECS; Status
我正在编写一个简单的Windows服务,该服务每个月向所有员工发送一封电子邮件。我的问题是,完成后如何停止自我?我是该领域的新手,请帮帮我。非常感谢。 它将部署在服务器上以每月运行。我没有开始做这件事
有谁知道是否有办法在 service worker 中获取此号码或日期: 将我的服务 worker 缓存命名为 cache-1182 会很方便或 cache-20171127171448 我想在安装事
我想开始使用 Azure Service Fabric 技术。 我按照this document工作并安装最新的SDK。安装后,我打开 PowerShell(“以管理员身份运行”)命令行窗口并写入这些
我在使用 whenever gem 时遇到了一些问题。我创建了一个 rake 任务,当我自己启动它时它工作得很好但是当我在日志中收到以下消息时尝试自动执行它: ActiveRecord::Statem
我想在 service fabric 集群中为两个不同的 web 应用程序(webpi/website)共享 http/80 端口,应用程序必须有 2 个不同的主机名: mywebapi.com 和
我创建了一个使用 MongoDB 实现 hibernate OGM 的应用程序。它在 Eclipse 中运行得很好,但是,当我构建一个 fat jar 并尝试运行它时,出现以下错误: Exceptio
我有一个 Selenium Python 测试套件。它开始运行,但几分钟后抛出以下错误: Exception AttributeError: "'Service' object has no attr
我按照此链接的说明进行操作:https://www.thegeekdiary.com/centos-rhel-7-how-to-make-custom-script-to-run-automatica
我在 ubuntu 下的 jboss 上部署了简单的“HelloWorld”Web 服务。 我创建了简单的客户端,但我无法让它工作。每次运行客户端时,我都会收到 NullPointerExceptio
我正在尝试为我的网站使用后台定期同步。我正在使用 localhost 并在 1*1000 毫秒时注册 periodicsync 事件,但这根本不会触发。 我看过这个demo ,但即使我将该网站安装为应
我是一名优秀的程序员,十分优秀!