2014-11-01 46 views
0

基本身份驗證我試圖連接到需要基本身份驗證的第三方供應商。我基本上需要下載html/js/css並在我的網站上查看內容。我可以使用下面的代碼連接到該網站。問題是下面的內容引用了與其他域相關的js和css,並且它們本身也需要基本認證。我試圖將'resolveUrl'設置爲true,這似乎是正確的步驟,但我無法通過基本身份驗證塊。我感謝所有可以幫助我獲得的幫助。ColdFusion的

<cfscript> 
    httpService = new http(); 

    httpService.setURL("https://example.com"); 
    httpService.setMethod("GET"); 
    httpService.setUsername("someusername"); 
    httpService.setPassword("somepassword"); 
    httpService.setResolveUrl(true); 

    prefix = httpService.send().getPrefix(); 
    fileContent = prefix.fileContent; 

    writeOutput(fileContent); 
</cfscript> 

回答

0

ResolveURL是否按預期工作?你的意圖是什麼?您想從文檔中收集網址,以便知道從哪裏收集?

上有一個文本中的鏈接轉換爲超鏈接很多很多的話題。你可以很容易地適應並使用ReMatch()收集數組。

你甚至可以使用Adobe的例子:

result = REMatch("https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?", cfhttp.filecontent); 

我沒有測試過這一點,但,但我覺得這種變化可能會奏效

result = REMatch("https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\.js|\.css.|\.other|\.ext|\.you|\.wnt|\.hre)(\?\S+)?)?)?", cfhttp.filecontent); 

或者一些簡單的像

result = REMatch("http[s]?://([^\s"">])*(\.js|\.css.|\.other|\.ext|\.you|\.wnt|\.hre)([^\s"">])*", cfhttp.filecontent); 

你有一個\前綴擴展中的.因爲.是在正則表達式特殊字符(這是一個通配符指任何字符)

結果返回請求內的每個匹配的陣列。您可以使用它,以便它僅過濾到以特定擴展名結尾的文件。

得到結果陣列之後,我會做一些搗鼓,以確保我沒有任何重複的URL,然後CFLOOP在陣列和DL內容。

一個基本的蜘蛛:)。