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

ここでの PHP の問題は、API への接続時に発生するリダイレクトに従っていないように見えることです。REST API の MSDN ドキュメントに記載されています。リダイレクトに従う方法を説明しているこの MSDN リファレンス ドキュメントを見てください。

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

Media Services URI への接続 Media Servicesのルート URI はhttps://media.windows.net/API/です。最初にこの URI に接続する必要があります。応答で 301 リダイレクトが返された場合は、新しい URI に対して後続の呼び出しを行う必要があります。さらに、リクエストで自動リダイレクト/フォロー ロジックを使用しないでください。HTTP 動詞と要求本文は、新しい URI に転送されません。

于 2013-02-21T04:55:26.400 に答える