2014-12-02 53 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