使用c#桌面应用程序,Instagram oAuth登录失败,出现403 Forbidden error



我正在开发我的Instagram桌面应用程序,由于403 Forbidden error,我无法授权用户。

我被困在从登录post请求获得响应。我的POST-string看起来像这样:

csrfmiddlewaretoken=98d25eec9c3d1a6935e5a491ff2fa543&username=myname&password=mypassword

,这就是我的请求:

        Uri url = new Uri
        ("https://instagram.com/accounts/login/?next=/oauth/authorize/?client_id=" +
        instagramClient_id + "&redirect_uri=" + instagramRedirectUrl +
        "&response_type=token");
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.CookieContainer = cc;
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.KeepAlive = true;
        byte[] sentData = Encoding.UTF8.GetBytes(data);
        request.ContentLength = sentData.Length;
        using (Stream requestStream = request.GetRequestStream())
        {
            requestStream.Write(sentData, 0, sentData.Length);
        }
        WebResponse response = request.GetResponse();

结果为- 403 Forbidden。我不知道我做错了什么。

我不得不提到这样一个事实,我已经测试了一些其他的方式来完成授权,并注意到Google Chrome在使用Instagram时接收到比c#更多的cookie请求。到目前为止,我的桌面应用程序没有收到"sessionid","__qca","__utma","__utmb","__utmc","__utmz","ccode"one_answers"user_segment"cookie。但是它接收"csrftoken"one_answers"mid"cookie。也许这就是为什么我总是有403错误?

添加Referer标头和请求URL的值

相关内容

最新更新