执行用于创建资产的php代码时出现HTTP Code 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
答案 0 :(得分:0)
我不确定您使用的是正确的网址。这个对我有用。
答案 1 :(得分: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。
答案 2 :(得分:0)
在C#中,您将找到一个重定向处理的工作示例: http://createassettask.codeplex.com/SourceControl/changeset/view/21236#458379