Параметр запроса в Windows Mobile для REST API

У меня есть одно приложение для портативных устройств Windows в .Net framework 3.5, для которого требуется доступ к REST API. REST API дает мне вывод JSON, который я собираюсь обработать позже. У меня есть следующий код для этого: -

        HttpWebRequest webRequest;
        string result = String.Empty;
        try
        {
            webRequest = (HttpWebRequest)WebRequest.Create(url);
            webRequest.Method = "POST";
            webRequest.KeepAlive = false;
            webRequest.ContentType = "application/x-www-form-urlencoded";
            using (WebResponse response = webRequest.GetResponse())
            {
                using (StreamReader streamReader = new StreamReader(response.GetResponseStream()))
                {
                    result = streamReader.ReadToEnd();
                }
            }
        }
        catch (Exception ex)
        {
            result = ex.Message;
        }

Переменная url содержит URL-адрес API с некоторыми параметрами запроса. Например, "http://www.something.com/Login?id=test&pwd=test< /а>».

Теперь моя проблема в том, что я не хочу использовать параметры строки запроса, а хочу использовать параметры запроса, потому что описанный выше подход не работает каждый раз идеально. Иногда я получаю сообщение об ошибке «Неавторизованный доступ». А также у меня есть один идентификатор токена, который мне нужно отправлять каждый раз, когда я вызываю API, а идентификатор токена находится в формате base64.

Может ли кто-нибудь помочь мне, как я могу использовать функцию параметра запроса для отправки значений параметров?


person Joy    schedule 16.12.2014    source источник


Ответы (1)


используйте свойство Headers вашего объекта запроса.

webRequest.Headers.Add("id", "test");
webRequest.Headers.Add("pwd", "test");
webRequest.Headers.Add("token", myToken);
person ctacke    schedule 17.12.2014