You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

获取Dailymotion私有视频列表时遇400错误:Host头格式错误

问题解决:Dailymotion API请求出现"malformed Host header"错误

错误根源

你在获取私有视频列表的请求里,手动设置了错误的Host头:Host: partner.api.dailymotion.com/rest。这里的rest是API路径的一部分,不属于主机地址,正确的主机地址应该是partner.api.dailymotion.com。另外,curl会自动根据请求URL生成正确的Host头,手动设置反而容易触发格式错误。

修正后的完整代码

<?php
// 获取access token
$url = "https://partner.api.dailymotion.com/oauth/v1/token";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// 移除手动设置的Host头,curl会自动处理
$headers = array(
   "Content-Type: application/x-www-form-urlencoded",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$data = "grant_type=client_credentials&client_id=xxx&client_secret=xxx&scope=manage_videos";
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$resp = curl_exec($curl);
curl_close($curl);
$data = json_decode($resp, true);
$access_token = $data['access_token'];

// 获取私有视频列表
$url = "https://partner.api.dailymotion.com/user/xxx/videos?fields=id&limit=30&private=true";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// 移除错误的Host头,直接添加授权头
$headers = array(
    "Authorization: Bearer " . $access_token,
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$resp = curl_exec($curl);
// 新增curl错误调试,方便排查后续问题
if(curl_errno($curl)){
    echo 'Curl错误: ' . curl_error($curl);
}
curl_close($curl);

// 输出结果查看
var_dump($resp);
?>

核心修正点

  • 删掉两处手动设置的Host头,让curl自动生成正确的Host信息
  • 调整视频列表请求的headers数组,直接添加授权头,避免数组索引赋值可能引发的问题
  • 增加curl错误调试代码,便于后续排查其他请求异常

内容的提问来源于stack exchange,提问作者Ophelia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 23:51:09