2014-11-01 5 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

Is ResolveURL делает как и ожидалось? Каковы ваши намерения? Хотите ли вы собрать URL-адреса из документа, чтобы вы знали, где их собирать?

Существует множество тем по преобразованию ссылок в текст в гиперссылки. Вы можете легко адаптировать это и собрать массив, используя 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); 

Вы должны префикс . в расширениях с помощью \ потому что . является специальным символом в regex (это подстановочный знак, означающий любой символ)

Результат возвращает массив каждого совпадения в запросе. Вы можете играть с ним так, чтобы он только фильтрует файлы, заканчивающиеся на определенные расширения.

После получения массива результатов я сделал бы хруст, чтобы убедиться, что у меня не было повторяющихся URL-адресов, а затем cfloop над массивом и dl-содержимого.

Рудиментарный паук :).

Смежные вопросы