2014-11-01 1 views
0

기본 인증이 필요한 타사 공급 업체에 연결하려고합니다. 기본적으로 html/js/css를 다운로드하고 내 웹 사이트에서 콘텐츠를 볼 필요가 있습니다. 아래 코드를 사용하여 사이트에 이미 연결할 수 있습니다. 문제는 아래의 내용이 다른 도메인과 관련된 js 및 css를 참조하며 기본 인증 자체도 필요하다는 것입니다. 올바른 단계처럼 보이는 'resolveUrl'설정을 시도했지만 기본 인증 블록을 통과 할 수 없습니다. 내가이 문제에 관해 얻을 수있는 모든 도움에 감사드립니다.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이 수행됩니까? 당신의 의도는 무엇입니까? 문서에서 URL을 수집하여 어디에서 수집해야하는지 알 수 있습니까?

텍스트 내의 링크를 하이퍼 링크로 변환하는 데 관한 많은 주제가 있습니다. ReMatch()을 사용하면 쉽게 적응하고 어레이를 수집 할 수 있습니다. 나는 그러나이 테스트를하지 않은

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이 없는지 확인한 다음 배열과 cflop을 통해 내용을 확인해야합니다.

기초적인 거미 :).