パートナーが cURL を使用してサーバーからアクセスする必要がある最初の API を作成しています。そのため、サーバー #1 を使用してテスト接続スクリプトを作成し、サーバー #2 を使用して API をホストしています。サーバー#1には次のものがあります:
<?php
$url = "http://example.net/api/";
$data['api_key'] = "AFsASfafasasf";
$data['api_secret'] = "faskakfokfl3a";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
サーバー #2 の API ファイルには、これがあります (接続をテストするためだけに):
<?php
echo "Testing API...";
echo $_POST['api_key'];
echo $_POST['api_secret'];
?>
問題は、サーバー #1 でテスト スクリプトを実行すると、次のようになることです。
"認証が必要です
このサーバーは、要求されたドキュメントへのアクセスが許可されていることを確認できませんでした。入力した認証情報が間違っている (パスワードが間違っているなど) か、必要な認証情報を入力する方法をブラウザーが認識していません。
さらに、ErrorDocument を使用して要求を処理しようとしたときに、401 Authorization Required エラーが発生しました。」
サーバー #1 は他の基本的な PHP スクリプトで動作するため、これは間違いなく cURL に接続されています。
私がオンラインで見たすべての例は承認を必要としないようです...それで、設定する必要があるCURLOPTフィールドに何かありますか、それとも.htaccessまたはどこかに欠けているものがありますか?
ありがとう!