Я пытаюсь перевести следующую команду cURL на PHP.Перевод команды cURL на PHP
curl -k https://api.box.com/2.0/files/content -H "Authorization: Bearer 8tuuIMsrf3ShyODVdw" -F [email protected] -F folder_id=0
Вот моя попытка:
$url = 'https://api.box.com/2.0/folders/content';
$params['filename'] = '@txt.txt';
$params['folder_id'] = '0';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer ".$this->access_token, "Content-Type: multipart/form"));
$data = curl_exec($ch);
curl_close($ch);
Это не работает, однако. Может ли кто-нибудь помочь мне понять, почему я делаю неправильно, и что я могу сделать, чтобы изменить свой код? Благодаря!!
Я попытался сделать это, но у меня все еще возникают проблемы. Единственное, что я не уверен в том, как перевести команду -F cURL на PHP. Из документации cURL -F 'позволяет скручивать эмулировать заполненную форму, в которой пользователь нажал кнопку отправки. Это приводит к зависанию данных POST с использованием многочастных/форм-данных Content-Type в соответствии с RFC 2388'. Я не был уверен, как это интерпретировать, поэтому я просто попытался использовать их в качестве параметров (ключ, значение) в моем запросе POST. Это верно? – user2066880
-F эквивалентен вашему параметру $ params array и CURLOPT_POSTFIELDS. Что такое '$ data'? Сообщение об ошибке или пустое? – drew010
$ Данные пустые. когда я отслеживаю сетевую активность, он говорит, что запрос POST был отправлен без ошибки, но ничего не происходит. – user2066880