Я пытаюсь перевести PHP-скрипт в ColdFusion и не удалось. Может ли кто-нибудь мне помочь?curl to cfhttp translation
Оригинальный скрипт (для УСОСФС WLan менеджер API):
$unifiServer = "https://xxx.xxx.xxx.xxx:xxxx";
$unifiUser = "xxxxx";
$unifiPass = "xxxxx";
// Start Curl for login
$ch = curl_init();
// We are posting data
curl_setopt($ch, CURLOPT_POST, TRUE);
// Set up cookies
$cookie_file = "/tmp/unifi_cookie";
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
// Allow Self Signed Certs
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Force SSL1 only
curl_setopt($ch, CURLOPT_SSLVERSION, 1);
// Login to the UniFi controller
curl_setopt($ch, CURLOPT_URL, "$unifiServer/api/login");
$data = json_encode(array("username" => $unifiUser,"password" => $unifiPass));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
// send login command
curl_exec ($ch);
ColdFusion cfhttp перевод:
<cfhttp url="https://xxx.xxx.xxx.xxx:8443/api/login" method="POST" result="test">
<cfhttpparam type = "formField" name = "username" value="xxxxxxx">
<cfhttpparam type = "formField" name = "password" value="xxxxxxxx">
<cfhttpparam type="header" name="Content-Type" value="application/json">
</cfhttp>
<cfdump var="#test#">
cfhttp терпит неудачу с:
«HTTP/1.1 400 Bad Request Сервер "
msg": "api.err.Invalid", "rc"
Сертификат SSL установлен в магазине сертификатов.
Try посылая 'username' и' password' в теле запроса вместо 'formfield', как данные будут в кодировке URL и от PHP фрагмент кода это походит вам нужно, чтобы json закодировался. – Beginner