phpCurl请求字段未命中?

phpCurl请求字段未命中?,php,post,curl,libcurl,Php,Post,Curl,Libcurl,我的PHP代码运行时带有response:parameter--“token”缺失,我不知道为什么,我很确定token是正确的 示例图像: 尝试从令牌密钥-值对的$post\u数据中删除文件类型说明符。文件类型仅应在发布文件时使用 $post_data=array('token'=>“5fb568dc8b5041b1”,“image'=>“@$queryImg;type=image/jpeg”) 另外,根据PHP的cURL文档。在POSTFIELDS中过帐文件已被弃用,应使用函数完成 根据这些

我的PHP代码运行时带有response:parameter--“token”缺失,我不知道为什么,我很确定token是正确的

示例图像:


尝试从令牌密钥-值对的
$post\u数据中删除文件类型说明符。文件类型仅应在发布文件时使用

$post_data=array('token'=>“5fb568dc8b5041b1”,“image'=>“@$queryImg;type=image/jpeg”)

另外,根据PHP的cURL文档。在POSTFIELDS中过帐文件已被弃用,应使用函数完成

根据这些信息,您应该尝试以下操作:

$queryimg = "saestor://image/2222.jpg";
$token= "5fb568dc8b5041b1";
$image_to_post = curl_file_create($queryimg, 'image/jpeg', '2222.jpg');
$post_data = array ('token' => $token, 'image' => $image_to_post);
对于PHP<5.5的版本,您可以使用下面的代码重新创建
curl\u file\u create()
的功能,它是
cURLFile
构造函数的别名

if (!function_exists('curl_file_create')) {
    function curl_file_create($filename, $mimetype = '', $postname = '') {
        return "@$filename;filename="
            . ($postname ?: basename($filename))
            . ($mimetype ? ";type=$mimetype" : '');
    }
}

如果你在解决问题时仍然有困难,我会使用开发的Catchoom。SDK很难出错!它们甚至包括一个看起来像是您所发布到的服务响应的。

。您可能需要检查他们的文档或允许的方法。我不确定这和你的代码有什么关系。你有任何文档或类似的东西来帮助解决这个问题吗?我的php环境是php-5.3.x,可能不支持CurlFile?我已经删除了文件类型,但它仍然返回“Token is missing”,我已经更新了我的答案,包括对php<5.5版本的修复,并提出了一些建议。祝你好运还是失败了。。。很遗憾,我像PHPSDK那样做,但响应中缺少令牌,我怀疑我的服务器PHP环境字符集是否会影响令牌的字符集?我曾尝试使用httpfox之类的嗅探器来获取post数据,但一无所获。
if (!function_exists('curl_file_create')) {
    function curl_file_create($filename, $mimetype = '', $postname = '') {
        return "@$filename;filename="
            . ($postname ?: basename($filename))
            . ($mimetype ? ";type=$mimetype" : '');
    }
}