远程服务器返回错误:(403) Forbidden。在发布请求期间...?
Posted
技术标签:
【中文标题】远程服务器返回错误:(403) Forbidden。在发布请求期间...?【英文标题】:The remote server returned an error: (403) Forbidden. during post request...? 【发布时间】:2012-07-18 21:16:39 【问题描述】:我尝试为自己制作一个小应用程序,我发现了这个应用程序 How to upload video on Dailymotion with c# ?? Is somebody has a complete code?
当我尝试了所有方法但发布不起作用时。我使用了提琴手,但我找不到错误。 这是代码
var request = WebRequest.Create("https://api.dailymotion.com/me/videos?url=" + Uri.EscapeUriString(uploadResponse.url));
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Headers.Add("Authorization", "OAuth " + accessToken);
var requestBytes = Encoding.UTF8.GetBytes("title=test 123&channel=Funny&tags=Humor&description=Testing testing&published=true");
var requestBytes = Encoding.UTF8.GetBytes(requestString);
var requestStream = request.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
var response = request.GetResponse();
var responseStream = response.GetResponseStream();
string responseString;
using (var reader = new StreamReader(responseStream))
responseString = reader.ReadToEnd();
当它到达 request.GetResponse() 时,它会给出错误。那么这里有什么问题..?
【问题讨论】:
【参考方案1】:我认为您需要摆脱 url 中的“我”,因为您使用的是 OAuth 而不是基本身份验证,如下所示:
"https://api.dailymotion.com/videos?url="
代替:
"https://api.dailymotion.com/me/videos?url="
至少在看起来是这样的快速扫描中,我在一年前为客户编写了一个自动发布器,它没有在网址中使用me
。我的凭据现在无效,因此很遗憾无法对其进行测试。这似乎是您链接的答案中的错误。
如果您可以阅读其他语言,我发现浏览他们的 SDK 并转换代码会很有帮助:
http://www.dailymotion.com/doc/api/sdk-php.html
https://github.com/dailymotion/dailymotion-sdk-php/blob/master/Dailymotion.php
【讨论】:
以上是关于远程服务器返回错误:(403) Forbidden。在发布请求期间...?的主要内容,如果未能解决你的问题,请参考以下文章
使用 HttpWebRequest.GetResponse() 进行屏幕抓取时出现错误“远程服务器返回错误:(403) Forbidden”
客户端身份验证方案“匿名”禁止 HTTP 请求。远程服务器返回错误:(403) Forbidden
REST 服务切换到 https,在浏览器中工作,在 c# 中抛出“(403) Forbidden”错误
System.Net.WebException:远程服务器返回错误:(403)禁止