我想使用CFHTTP.Using Http Live Header登录(https://pacer.login.uscourts.gov/csologin/login.jsf),我们已经收集了所有必需的参数,并发布到登录url.Here是我的示例代码:
<cfhttp url="#arguments.login_url#" method="post" timeout="30" redirect="no" resolveURL="yes" useragent="Mozilla/5.0">
<cfhttpparam name="login" value="login" type="formField">
<cfhttpparam name="login:loginName"value="xxxx"type="formField">
<cfhttpparam name="login:password" value="xxxx" type="formField">
<cfhttpparam name="login:clientCode" value="" type="formField">
<cfhttpparam name="login:Aj_idt206" value="" type="formField">
<cfhttpparam type="formField" name="javax.faces.ViewState" value="stateless">
</cfhttp>在尝试上述代码后,我们得到了相同的登录页面content.How来登录上述网址,并收集了所有的cookies,登录后的会话。谁在CF中有任何想法或任何线索或任何其他方法?
谢谢
Atu
发布于 2015-12-22 20:21:59
我认为您首先必须执行get请求才能启动新会话,然后使用从JSESSIONID请求中获得的JSESSIONID执行post:
<cfhttp url="https://pacer.login.uscourts.gov/csologin/login.jsf" method="get" timeout="30" redirect="no" resolveURL="yes" useragent="Mozilla/5.0">
</cfhttp>
<cfset setcookies = cfhttp['Responseheader']['set-cookie']>
<cfhttp url="https://pacer.login.uscourts.gov/csologin/login.jsf" method="post" timeout="30" redirect="no" resolveURL="yes" useragent="Mozilla/5.0">
<cfhttpparam name="login" value="login" type="formField">
<cfhttpparam name="login:loginName"value="xxxx"type="formField">
<cfhttpparam name="login:password" value="xxxx" type="formField">
<cfhttpparam name="login:clientCode" value="" type="formField">
<cfhttpparam name="login:Aj_idt206" value="" type="formField">
<cfhttpparam type="formField" name="javax.faces.ViewState" value="stateless">
<cfhttpparam type="header" name="Cookie" value="#setcookies#">
</cfhttp>https://stackoverflow.com/questions/27445052
复制相似问题