0

JavaScript からの API 呼び出しは失敗し、PHP curl からは問題ありません。

認証を確認する PHP スクリプト


 if (!isset($_SERVER['PHP_AUTH_USER'])) {
        header('WWW-Authenticate: Basic realm="Test auth"');
        header('HTTP/1.0 401 Unauthorized');
        echo '{"status":"401","message":"Unauthorized"}';
        exit;
    } else {
        $user= $_SERVER['PHP_AUTH_USER'];
        $pass =  $_SERVER['PHP_AUTH_PW'];
    }

Javascript // 失敗

var xhr = new XMLHttpRequest();
var apiid = 'admin';
var apipassword = '123';
var requesturl = 'http://localhost/man/api/man/GetLanguages';
xhr.open('POST', requesturl, false, apiid, apipassword);
xhr.send('{}');
if(xhr.status == 200){
     alert(xhr.responseText);
} 

PHPカールコール

$ch = curl_init($url);                                                                
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($data),'Authorization: Basic YWRtaW46MTIz'));     
echo $result = curl_exec($ch);
4

0 に答える 0