Тема: urlencode
Показать сообщение отдельно
Непрочитано 23.09.2015, 17:36   #1
Аватар для desolator
Пользователь

Автор темы (Топик Стартер) urlencode

Всем привет.
Есть у одного хостинга свое api - прикрутил и вроде бы всё ок но(!)
Когда сервер отправляет отчет об ошибке (например из-за того что адрес с таким именем уже существует я получаю вот такое сообщение "{"status":"error","message":"\u041f\u043e\u0447\u 0442\..."
\u041f\u043e\u0447\u0442\... - это urlencoded-текст в кодировке UTF-8.
Специально воспроизвожу ошибку


В доках у провайдера на это API написано:
API DOC:
Свернуть ↑Развернуть ↓

То есть, насколько я понимаю, нужно сначала http://php.ru/manual/function.json-decode.html, потом уже взять конкретный элемент массива с ответом и применить к нему http://php.net/manual/en/function.urldecode.php
Мой запрос
PHP код:
<?php
$fields 
= array(
    
'auth_login' => "moi_login",
    
'auth_token' => "moi_token",
   
    
'class' => "hosting_mailbox",
    
'method' => "create",
   
    
'account' => "moi_acc"
    
'mailbox' => $_POST['mailbox'],
    
'password' => $_POST['password'],
);

$fields_string ""
foreach(
$fields as $key => $value) {
     
$fields_string .= $key.'='.urlencode($value).'&';
}

rtrim($fields_string'&');
 
$ch curl_init();
curl_setopt($chCURLOPT_URL"https://HOSTING/api.php");
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_POSTcount($fields));
curl_setopt($chCURLOPT_POSTFIELDS$fields_string);
$response curl_exec($ch);
curl_close($ch);
echo 
"Ответ на Ваш запрос: ".$response;
?>
Проблема заключается в том, что я очень хреново знаю php и js. urldecode на пару с json-decode для меня слишком сложно.
Помогите дописать
Изображения
Тип файла: jpg one.jpg (9.9 Кб, 105 просмотров)
Тип файла: jpg dva.jpg (7.5 Кб, 102 просмотров)

Последний раз редактировалось desolator; 23.09.2015 в 19:01.
desolator вне форума Ответить с цитированием