Преобразование curl запроса в php код

amber

Создатель
Регистрация
30 Апр 2013
Сообщения
21
Реакции
1
здравствуйте!
не получается преобразовать данную строку в php:
curl --user user:key --header 'Content-Type: application/json' -d '{"name": "Viktor Kalinin"}' -X PUT 'Для просмотра ссылки Войди или Зарегистрируйся'

Пробую так:

$url = "Для просмотра ссылки Войди или Зарегистрируйся";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, "user:key");
curl_setopt($ch, CURLOPT_TIMEOUT, 3); // times out after 4s
curl_setopt($ch, CURLOPT_PUT, "name:Viktor Kalinin"); // set POST method
$result = curl_exec($ch);
curl_close($ch);
echo $result;

Но результата нет... Буду благодарен если кто-нибудь поможет разобраться с этим запросом...
 
Попробуй
Код:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, "name:Viktor Kalinin");
 
Попробуй
Код:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, "name:Viktor Kalinin");

спасибо за сообщение, но ответ Unsupported Media Type... может кто подскажет терминал, через который можно проверить данный запрос к серверу?
 
Попробуй
Код:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, "name:Viktor Kalinin");
Да, вы были правы, -d автоматически запрос делает POST
Ошибка в передаваемых параметрах может нужно какие-то спец символы добавить?
Пока делаю так:
$url = "Для просмотра ссылки Войди или Зарегистрируйся";
$post_data = '{"name":"Viktor"}';
$headers = "Content-Type: application/json";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, "log:key");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
echo $output;

т.е эту часть строки как-то исправить нужно или спецсимволы может проставить.. -d '{"name": "Viktor Kalinin"}
 
А ну точно, там же в json передаются параметры, протупил что то

Код:
$array_data = array ("name" => "Viktor");
$post_data = json_encode($array_data);
 
Назад
Сверху