获取 Instagram 的响应 url

Getting the response of an instagram url

我正在尝试集成第三方应用程序。程序如下:

  1. 我有第三方的url(需要登录)
  2. 我必须将其粘贴到浏览器中。结果将是浏览器中的 url。

例如:url的站姿是这样的:

  1. https://api.instagram.com/oauth/authorize?client_id=157c0c51ef58435893a50e0430b5f53b&redirect_uri=http://www.hashgurus.com/redirect.aspx&response_type=code&scope=likes+basic+comments+relationships

  2. 现在,当我将此 url 粘贴到浏览器中时(需要登录,一旦登录设置了 cookie),它会重定向到另一个 url.

示例:hashgurus.com/redirectd.aspx?code=abcdedf。 url 的输出是一个字符串。

现在我想在控制台应用程序中以编程方式模拟它。我的代码:

HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(link);

WebResponse webresponse =  myReq.GetResponse();
StreamReader sr = new StreamReader(webresponse.GetResponseStream(), System.Text.Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();

但是变量 result 包含其他一些 html(登录页面)。相反,我期待这个 url hashgurus.com/redirectd.aspx?code=abcdedf 的响应。

当我在浏览器中手动执行所有操作时,一切都会顺利进行,因为已设置 cookie。但在编程上它没有。

由于 HttpWebRequest 进行的自动重定向,您收到了不同的 html 源代码。您需要先禁用自动重定向。可以使用以下代码完成:

HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(link);
myReq.AllowAutoRedirect = false;

Documentation

之后,按照 api 提供的所有步骤进行操作。为了更好地理解整个路径,请使用 Fiddler.

等嗅探工具