PHPスクリプトをColdFusionに翻訳しようとしていますが、成功しませんでした。誰かが私を助けることができますか?curl to cfhttp translation
(UNIFI WLAN Manager APIのための)オリジナルのPHPスクリプト:
$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の翻訳:
「HTTP/1.1 400不正な要求:
<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はで失敗しますサーバー "
msg": "api.err.Invalid"、 "rc"
証明書が証明書ストアにインストールされています。
データはエンコードされたURLやPHPからだろう、との代わりに 'formfield'の要求の本体に' username'と 'password'を送信してみてくださいそれはのように思えるスニペットあなたはjsonエンコードされている必要があります。 – Beginner