1

在执行用于创建资产的 php 代码时出现 HTTP 代码 301 错误:

 public function request($arrData = array()){
            $ch = curl_init();
            $arrHeader = array(
                'Authorization: Bearer '.$this->strToken,

            );
        echo 'Call API:'.$this->strUrl."\n";
        curl_setopt($ch, CURLOPT_URL, $this->strUrl);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $arrHeader);
        //curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        if (!empty($data)){
            curl_setopt($ch, CURLOPT_POSTFIELDS, $this->generateData($arrData));
        }
        $data = curl_exec($ch);
       The value of strUrl is: https://media.windows.net/API/Assets
4

3 回答 3

0

在 C# 中,您将在此处找到重定向处理的工作示例:http: //createassettask.codeplex.com/SourceControl/changeset/view/21236#458379

于 2013-02-21T07:43:58.953 回答
0

我不确定您使用的 URL 是否正确。这个对我有用。

https://wamsbluclus001rest-hs.cloudapp.net/API/

于 2013-02-20T19:29:46.870 回答
0

PHP 中的问题是,您似乎没有遵循连接到 API 时发生的重定向。REST API 的 MSDN 文档中记录了它。看看这个 MSDN 参考文档,它解释了如何遵循重定向:

http://msdn.microsoft.com/en-us/library/jj129576.aspx

连接到媒体服务 URI 媒体服务的根 URI 是https://media.windows.net/API/。您最初应该连接到此 URI,如果您收到 301 重定向作为响应,您应该对新 URI 进行后续调用。此外,请勿在您的请求中使用任何自动重定向/跟随逻辑。HTTP 动词和请求正文不会被转发到新的 URI。

于 2013-02-21T04:55:26.400 回答