У меня возникают проблемы с HttpWebRequest/Response, когда я пытаюсь выполнить вызовы API.HttpWebResponse 401-error Неавторизованный
API использует JSON/Ajax для совершения звонков, но мне нужно совершать вызовы через HttpWebRequest/Response, которые я не совсем понимаю, и я думаю, что пропускаю неправильный токен доступа.
Вот мой текущий код, который я получил от учебника:
byte[] buffer = Encoding.ASCII.GetBytes("username=User&password=Password");
HttpWebRequest WebReq =(HttpWebRequest)WebRequest.Create("http://api40.maildirect.se/User/Authorize");
WebReq.Method = "POST";
WebReq.ContentType = "application/x-www-form-urlencoded";
WebReq.ContentLength = buffer.Length;
Stream PostData = WebReq.GetRequestStream();
PostData.Write(buffer, 0, buffer.Length);
PostData.Close();
HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
var status = WebResp.StatusCode; (returns OK)
Stream _Answer = WebResp.GetResponseStream();
StreamReader Answer = new StreamReader(_Answer);
//Here I try to make another request, do I need to make another instance?
WebReq = (HttpWebRequest)WebRequest.Create("http://api40.maildirect.se/Contacts?&select=ContactId,FirstName,LastName");
WebReq.Method = "GET";
WebReq.ContentType = "text/json; charset=utf-8";
WebReq.Headers.Add("Authorization", Answer.ReadToEnd());
HttpWebResponse WebResp2 = (HttpWebResponse)WebReq.GetResponse();
^This is where it breaks because I'm not authorized.
И только полезная документация из API является то, что мне нужно передать маркер доступа при выполнении дополнительных вызовов, но я подозреваю, что я m пропускает неправильный токен.
Заранее спасибо
кастрировать
Просто потому, что статус «WebResp.StatusCode», возвращаемый статус 200, не обязательно означает, что ваша аутентификация сработала. Вам нужно проверить содержимое ответа. – DavidG
Я получаю доступ к CanRead, есть ли что-нибудь еще, что требуется? – deSex
У вас уже есть поток в 'Ответ', что там? – DavidG