c# - 获取 Instagram 网址的响应

标签 c# httpwebrequest

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

  1. 我有第三方的网址(需要登录)
  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 .

关于c# - 获取 Instagram 网址的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32572582/

相关文章:

c# - Json.NET 从自动属性初始值设定项获取默认值

c# - 如何创建仅供特定类使用的构造函数。 (C# 中的 C++ Friend 等价物)

c# - 让两个控件彼此相邻

如果 URL 中没有 HTTP,则 SQL 相关错误

C# Web 请求异常 : The underlying connection was closed: An unexpected error occurred on a receive

c# - 如何在没有浏览器的情况下与网站互动?

c# - 同时使用 POST 和 GET 的 HttpWebRequest

c# - 如何按计数对列表列表进行排序?

ios - AFNetworking 的AFHTTPClient 如何调试http 请求?

c# - 字节流单元测试