2015-09-14 8 views
3

Я пытаюсь интегрировать стороннее приложение. Процедура выглядит следующим образом:Получение ответа от указателя instagram

  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.

Пример: 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(); 

Но переменный результат содержит другой html (страница входа). Вместо этого я ожидал ответа этого URL-адреса hashgurus.com/redirectd.aspx?code=abcdedf.

Когда я делаю все вручную в браузере, все происходит гладко, потому что cookie установлен. но программно это не делает.

ответ

3

Вы получаете разные исходные коды html, из-за автоматического перенаправления, выполняемого HttpWebRequest. Вам необходимо сначала отключить автоматическое перенаправление. Это можно сделать, используя следующий код:

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

Documentation

После этого выполните все действия, предусмотренные апи. Чтобы лучше понять весь путь, используйте инструменты для обнюхивания, такие как Fiddler.

+0

Он все еще не работал. – Venkat

+0

EHh, несмотря на это, вы также рассматриваете возможность использования: файлов cookie, заголовков и правильной кодировки (любое существует). Я предлагаю вам использовать Fiddler или любой другой инструмент для веб-отладки и посмотреть, что происходит в underhood. – Fka

+0

Fka, я отредактировал мой quesstion. Прочтите еще раз. – Venkat