2014-12-02 52 views
-3

我正在做一个简单的cfhttp调用,使用cf10。cfhttp呼叫接管在回调登录屏幕

我提取的网址是笔直的,我只是将该网址粘贴到地址栏中,它会显示结果。

相同的链接我尝试在CFHTTP通话,请注意下面的链接是假

http://www.fakeurl.net/login2.asp?id=myid&password=mypasswd&t=page.asp&pe=000

现在我CFHTTP电话:

<cfset urlAddress="#trim(link)#"> 
    <cfhttp url="#urladdress#" method="GET" resolveurl="No" throwOnError="Yes"/> 
    <cfoutput>#CFHTTP.FileContent#</cfoutput> 

我带着阿德里安的意见,这里是我的下一个尝试:

<cfset address = "http://www.fakeurl.net/login2.asp"> 
<cfhttp url="#address#" method="POST" throwOnError="Yes" result="objGet" useragent="#CGI.http_user_agent#"> 
     <cfhttpparam type="Header" name="Accept-Encoding" value="deflate;q=0"> 
     <cfhttpparam type="Header" name="TE" value="deflate;q=0"> 
     <cfhttpparam type="url" name="id" value="myid"> 
     <cfhttpparam type="url" name="password" value="mypasswd"> 
     <cfhttpparam type="url" name="t" value="page.asp"> 
     <cfhttpparam type="url" name="rp" value="000"> 
    </cfhttp> 
    <cfoutput>#objGet.FileContent#</cfoutput> 

现在它给我

错误

+4

我在你的陈述中没有找到问题,也没有真正能够遵循这些问题。 – 2014-12-02 18:15:36

+0

同上克里斯说的话。很明显,你的cfhttp调用出了问题,但是不可能说出你描述中的内容。 1)以上代码的实际结果是什么?如果您收到错误消息,请发布。 2)你预期会发生什么? – Leigh 2014-12-02 20:00:08

+0

*现在它给我302错误* [HTTP 302](https://en.wikipedia.org/wiki/HTTP_302)意味着重定向。您需要重新阅读[cfhttp文档](http://help.adobe.com/zh_CN/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7ffc.html)。提示:这是一个属性;-) – Leigh 2014-12-02 21:13:39

回答

0

非常基本的,你需要什么:

<cfhttp 
    url="http://www.fakeurl.net/login2.asp?id=myid&password=mypasswd&t=page.asp&pe=000" 
    method="get" 
    resolveurl="yes"> 

<cfdump var='#cfhttp#' abort> 

这样就解决了。

我想你会发现你正在寻找的内容<cfdump>我补充说。然后能够挑选出您需要的某些东西...

然后,您可以将其解析为一个变量并修剪它,并从那里做其他事情。

+0

OP提到这只是一个“假“的网址;-)所以这个问题是另一回事,但..很难说没有更多的细节。 – Leigh 2014-12-02 20:02:06

0

re:“接管登录屏幕” - 该链接在您的浏览器中运行,因为您已登录该网站并进行活动会话。通过CFHTTP,这是无效的会话。这是一个与您的浏览器会话无关的请求,因此该URL会重定向到登录屏幕。您必须传递一个ID/PWD作为请求的一部分(而不是通过查询字符串参数),或者获得一个会话令牌,该令牌可以成为您获取该内容的请求的一部分。

+0

嗨阿德里安,我想我们可以尝试,但作为如何通过这些值,我应该使用cfhttpparam,如果是的话,如何,因为我需要通过'用户名,密码,吨,pe'。另一件事是:当我通过浏览器调用'fakeurl'时,它将重定向到显示实际结果的第二页,所以我希望用我们所称的'cfhttp',它将以相同的方式工作 – voyeger 2014-12-02 20:36:09