来自 HttpWebResponse Instagram 的 403 错误

Posted

技术标签:

【中文标题】来自 HttpWebResponse Instagram 的 403 错误【英文标题】:403 error from HttpWebResponse Instagram 【发布时间】:2015-04-26 07:51:00 【问题描述】:

首先对不起我的英语不好。 任务是使用 API 在 Instagram 中进行身份验证。当我在用户单击“确定”后尝试获取令牌时,我从 HttpWebResponse 收到 403 错误并且我无法获取我的令牌:(。我不知道该怎么做。请帮助我。当我输入此链接时在我的浏览器中 - 没关系

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://instagram.com" + url);
request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/42.0.2311.90 Safari/537.36";
request.Method = "POST";
request.CookieContainer = cookies;
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
request.Headers.Add("Accept-Encoding: gzip, deflate");
request.Headers.Add("Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
request.Headers.Add("Cache-Control:max-age=0");
request.ContentType = "application/x-www-form-urlencoded";
request.Host = "instagram.com";
request.Headers.Add("Origin: https://instagram.com");
StreamWriter writer = new StreamWriter(request.GetRequestStream());
writer.Write("csrfmiddlewaretoken=" + par + "&username=LOGIN&password=PASSWORD");
writer.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //403 ERORR

【问题讨论】:

【参考方案1】:

您无法通过简单地向 API 发送用户名/密码对来获取访问令牌!您必须将真实用户定向到 Instagram 的授权 url,并且在用户成功登录后,Instagram 将向您的应用程序发送一个用于获取访问令牌的代码。

更多信息:https://instagram.com/developer/authentication/

【讨论】:

以上是关于来自 HttpWebResponse Instagram 的 403 错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 HttpWebResponse 读取“分块”响应

(HttpWebResponse)request.GetResponse() throwing 操作已经超时

HttpClientWebClientHttpWebRequestHttpWebResponse

解决 HttpWebResponse.GetResponse()一直提示超时

从 HttpWebRequest 和 HttpWebResponse 获取 Http 状态码(200、301、404 等)

C# HttpWebReqeust和HttpWebResponse发送请求