php - 带有身份验证的php curl POST
问题描述
我必须发送到 API 的 POST 请求有一些问题。
以下是 API 所说的内容:
API 允许您通过向https://clevercast.com/api/v1/webinar/create发送 HTTP POST 请求来创建新的网络研讨会。 该请求需要基本身份验证,使用具有必要权限的 Clevercast 用户的电子邮件地址和他的密码。请求必须编码为 Multipart 表单。“Content-Type”标头必须设置为“multipart/form-data”。其正文应包含下表中带有字符串值的必填字段
于是转头写了以下代码:
/* API URL */
$url = 'https://clevercast.com/api/v1/webinar/create';
$username = 'username';
$password = 'password';
/* Init cURL resource */
$ch = curl_init($url);
/* Array Parameter Data */
$data = ['name'=>'Begrafenis van xxxx', 'language'=>'fr', 'start_time'=> '2020-28-12
13:05', 'end_time'=>'2020-28-12
13:30'];
/* pass encoded JSON string to the POST fields */
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
/* set the content type json */
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: ‘multipart/form-data'));
/* set return type json */
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//get info
/* execute request */
$result = curl_exec($ch);
/* close cURL resource */
curl_close($ch);
print_r($result);
但我总是得到一个 404 回来。
API 的人也给我发了一个示例代码。它应该是这样的:
curl --request POST -u "用户名:密码" -k " https://app.clevercast.com/api/v1/webinar/create/ " -F name="Afscheid van XXX" -F language="nl" -F logo=@/data/funerarium-logo.png -F logo_link="https://example.com/my-funerarium/" -F poster=@/data/foto-overledene.jpg -F start_time="2020 -08-04 14:00" -F end_time="2020-08-04 15:00" -F live_private_communication="questions" -F vod_private_communication="questions" -F email_questions="familie@example.com" -F sender_name ="My Funerarium" -F reply_to_email="info@my-funerarium.com" -F reply_to_name="My Funerarium" -F description="Wij zijn heel verdrietig dat XXX plotseling is ingeslapen. Wij zullen altijd van je blijven houden。
Via de tab hernaast kan u een bericht achterlaten voor de nabestaanden." -F background_color="rgba(8,97,106,1)" -F panel_text_color="rgba(8,97,106,1)"
有人知道问题出在哪里吗?有没有办法只发送 RAW curl 命令?
解决方案
所以显然我做得半正确,但他们身边的 PHP 有问题。
他们使用了另一个名为 Raques for PHP 的库(https://github.com/rmccue/Requests)
现在它正在正常工作。
谢谢您的帮助 。
推荐阅读
- ios - Cocoapods 共享依赖
- actions-on-google - 如何在 New Actions Builder 中实施测验
- javascript - 从 esp javascript 获取时出现 CORS 错误
- mongodb - 如何在当前日期字段中添加天数以便能够比较日期范围
- cookies - 凤凰饼干解密
- reactjs - 使用 React-js 显示 3d 模型格式 gltf
- javascript - 如何映射/过滤和匹配数组中的字符串
- c# - Xamarin 使用 C# 形成 FlexLayout 选择控件
- algorithm - 数组中数字的出现,复杂度为log n算法和c
- android - 如何检索当前设备的 dpi?