На самом деле вы отправляете имя пользователя и пароль в неправильном формате. Конечная точка API ожидает в формате BASICAUTH username and password
, используемом для аутентификации, как указано в https://www.name.com/api-docs/Domains#CheckAvailability, но вы отправляете как необработанные или, скажем, основные данные.
Вместо этого у вас есть отправить ваш username and password
как:
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
, чтобы ваш полный код выглядел так:
if(isset($_POST['domain'])) {
//get domain mae
$domain = $_POST['domain'];
$url = 'https://api.dev.name.com/v4/domains:checkAvailability';
$fields = array(
'token' => $name_token,
'domainNames' => array($domain)
);
//url-ify the data for the POST
$fields_string = http_build_query($fields);
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
//execute post
$result_domain = curl_exec($ch);
//close connection
curl_close($ch);
}