Каковы недостатки тега CFhttp по сравнению с утилитой CUrl?

Это концептуальный вопрос, но после поиска в Интернете и поиска в Интернете я не могу найти ответ на этот небольшой вопрос. Любая помощь будет оценена по достоинству. Заранее благодарен.

Вопрос возник, когда я использовал eNOM API для выполнения нескольких операций с использованием предоставленной ими тестовой учетной записи.

https://resellertest.enom.com/interface.asp?command=nameofcommand&
uid=yourloginid&pw=yourpassword&
paramname=paramvalue&nextparamname=nextparamvalue

Примечание. Это всего лишь пример URL. Поле пароля здесь на самом деле является «API-ключом».

Собственное решение coldfusion с использованием CFhttp оказалось полезным с точки зрения простой обработки выходных данных или передачи заголовков и параметров в RESTful API. Первый вопрос, который возник: CFhttp шифрует ли поля пароля так, как это поддерживается CUrl, и если нет, то есть ли способ реализовать это?. Во-вторых, я нашел этот фрагмент текста, читая о CUrl и CFHTTP:

cURL позволяет вам подключаться и взаимодействовать со многими различными типами серверов с различными типами протоколов. Используя cURL, вы можете.

  • Внедрить сценарии уведомлений о платежах платежных шлюзов.
  • Загрузка и загрузка файлов с удаленных серверов.
  • Войдите на другие веб-сайты и получите доступ к разделам только для членов.

Итак, точек нет. 1 и 2 возможны с использованием CFhttp? и если да, могу ли я иметь краткое представление о том, как это сделать.


person Anurag    schedule 20.01.2015    source источник
comment
Голосование за закрытие, поскольку оно не отражает реальной проблемы, которую необходимо решить. Какая проблема, с которой вы столкнулись, привела к вопросу? Об этом стоит спросить.   -  person Adam Cameron    schedule 20.01.2015
comment
Спасибо Адаму Кэмерону. Я повторно разместил вопрос, чтобы быть более конкретным. Спасибо   -  person Anurag    schedule 20.01.2015
comment
@AnuragMishra: вам нужно отправить пароль в URL?   -  person Deepak Kumar Padhy    schedule 20.01.2015
comment
Я отозвал свой закрытый голос.   -  person Adam Cameron    schedule 20.01.2015
comment
Да, пароль, а также очень конфиденциальные данные, поэтому вопрос.   -  person Anurag    schedule 20.01.2015
comment
Если вы имеете в виду --digest (дайджест-аутентификация), cfhttp не поддерживает его, насколько я знаю. В CF11 добавлена ​​поддержка NTLM, но нет упоминание о любых изменениях для дайджест-аутентификации. В документах он по-прежнему указан как неподдерживаемый: ..Тег cfhttp не поддерживает . .. Дайджест-аутентификация..   -  person Leigh    schedule 20.01.2015
comment
Это было полезно. Спасибо, Ли   -  person Anurag    schedule 20.01.2015


Ответы (1)


Curl позволяет подключаться к любому https-сайту без необходимости установки «необходимого» сертификата. Хотя некоторые могут назвать это небезопасным, мне очень нравится эта функция. Помимо этой функции, я не верю, что с помощью curl можно сделать многое (если вообще что-нибудь), чего нельзя сделать с помощью cfhttp.

Если вы работаете с https-сайтами, с curl намного проще работать, чем с CFHTTP (imo).

Согласно документации coldfusion, тег cfhttp использует SSL для согласования безопасных транзакций. (ссылка http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7ffc.html)


Обновление: вы можете отслеживать, отправляются ли данные в зашифрованном виде или без использования встроенного прокси-сервера в coldfusion. См. http://helpx.adobe.com/coldfusion/kb/coldfusion-mx-monitoring-soap-traffic.html для более подробной информации.

person Nebu    schedule 20.01.2015
comment
Это я уже знал. Кстати, спасибо. Проблема вовсе не в вызовах https. Некоторые API не имеют поддержки вызовов https, все просто http. Так есть ли способ кодировать или шифровать данные для параметров? Я могу просто использовать для этого ColdFusion, но, к сожалению, целевой API (здесь eNom) не поймет, что он зашифрован и как с этим бороться. - person Anurag; 20.01.2015
comment
Изcfhttp документов следует, что пароль attrib в теге cfhttp в сочетании с именем пользователя для формирования строки в кодировке base64, которая передается в заголовке Authenticate. Это решает проблему, только если аутентификация выполняется обычным способом. Но что, если имя пользователя отправляется как «учетная запись», а пароль передается как «ключ API». Так что, если я смогу каким-то образом закодировать их в base64, это было бы здорово. Мне нужен совет эксперта, возможно ли это вообще, или мне следует использовать какую-то библиотеку? - person Anurag; 20.01.2015
comment
@AnuragMishra, возможно, вы можете использовать cfhttpparam, чтобы указать свой собственный заголовок аутентификации. Что-то вроде этот ответ на аналогичный вопрос - person Miguel-F; 21.01.2015
comment
Да, я могу, но он закодирован или отправлен как есть? - person Anurag; 21.01.2015
comment
@AnuragMishra Вы можете отслеживать, отправляются ли данные в зашифрованном виде или без использования встроенного прокси-сервера в coldfusion. См. helpx.adobe.com/coldfusion/kb/ для более подробной информации. - person Nebu; 21.01.2015
comment
Спасибо за помощь Небу. Я даже не знал об этом прокси. Благодаря тонну! - person Anurag; 21.01.2015
comment
Кроме того, вы можете указать исходящий IP-адрес, используя --interface. Это то, что вы не можете сделать ни с CFHTTP, ни с CFX_HTTP5. curl.haxx.se/docs/manpage.html#--interface - person James Moberg; 22.09.2016