【发布时间】:2013-12-27 10:47:08
【问题描述】:
当我访问时
response = request.GetResponse();// request is a HttpWebRequest's object
远程服务器返回错误:(403) Forbidden. error。但是当我在浏览器 URL 中执行请求中的 url 时,它会被重定向到我指定的页面。
这是完整的代码。
string newPostLink = string.Format("https://instagram.com/oauth/authorize/?client_id={0}&redirect_uri=http://localhost:2163/Main.aspx&response_type=code&scope=basic", clientId);
HttpWebRequest request =(HttpWebRequest) WebRequest.Create(newPostLink);
request.AllowAutoRedirect = false;
request.Referer = newPostLink;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 7.1; Trident/5.0)";
request.Accept = "/";
request.UseDefaultCredentials = true;
request.Credentials = CredentialCache.DefaultCredentials;
if (request.Proxy != null)
{
request.Proxy.Credentials = CredentialCache.DefaultCredentials;
}
var response = request.GetResponse();
【问题讨论】:
-
这可能是因为您需要传递 oauth 详细信息。当您使用浏览器时,您可能已经登录了
-
@MarkPM 我已经传递了详细信息(ClientId,RedirectUri,response_type,scope)。
-
向我们展示完整的请求代码
-
string newPostLink = string.Format("instagram.com/oauth/authorize/?client_id={0}&redirect_uri=localhost:2163/…", clientId); HttpWebRequest 请求 =(HttpWebRequest) WebRequest.Create(newPostLink);
-
request.AllowAutoRedirect = false; request.Referer = newPostLink;request.Method = "POST"; request.ContentType = "应用程序/x-www-form-urlencoded"; request.UserAgent = "Mozilla/5.0 (兼容; MSIE 9.0; Windows NT 7.1; Trident/5.0)";request.Accept = "/"; request.UseDefaultCredentials = true; request.Credentials = CredentialCache.DefaultCredentials; if (request.Proxy != null){ request.Proxy.Credentials = CredentialCache.DefaultCredentials; } var response = request.GetResponse();
标签: c# asp.net httpwebrequest webclient instagram