PHP 스크립트를 ColdFusion으로 번역하려고하는데 성공하지 못했습니다. 누군가 나를 도울 수 있을까요?curl to cfhttp translation
원래 PHP 스크립트 (유니 파이 무선 랜 관리자 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 번역 :
"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"
SSL 인증서가 인증서 저장소에 설치됩니다.
데이터는 URL 인코딩 될 것이다,로하고 PHP에서 formfield''대신 요청의 본문에'username'과'password'을 보내십시오 스 니펫이 보인다 : 예를 들어
json으로 인코딩해야합니다. – Beginner