如何在PHP中传递此cURL?

时间:2016-07-19 03:05:48

标签: php curl ibm-watson

我从IBM Watson演讲到文本文档,发送音频文件进行处理:

$headr = array();
$headr[] = 'Content-Type: audio/flac';
$headr[] = 'Transfer-Encoding: chunked';
...
$crl = curl_init('https://stream.watsonplatform.net/speech-to-text/api');
curl_setopt($crl, CURLOPT_POST, 1);
curl_setopt($crl, CURLOPT_POSTFIELDS, array("username:password"=>"myuser:mypassword","data-binary"=>"@<path>0001.flac"));
curl_setopt($crl, CURLOPT_HTTPHEADER, $headr);

但是我应该如何将其构建到PHP cURL中?像这样的东西?

public static int GetYear(this string me)
{
  for (int i = 1971; i <= DateTime.Now.Year; i++)
  {
    if (me.Equals(i.ToString()))
    {
      return i;
    }
  }
  return -1;
}

-x和-u怎么样?

1 个答案:

答案 0 :(得分:0)

执行此操作后,

-X POST已设置

curl_setopt($crl, CURLOPT_POST, 1);

至于-u,你可以使用它,不要在你的帖子字段数组中包含用户名:密码。

curl_setopt($crl, CURLOPT_USERPWD, "yourusername:yourpassword");

使用--data-binary,已经有一个关于如何使用php curl完成它的现有stackoverflow帖子:data-binary parameter in cURL