GET запрос на https - NotFound. wp7

Это мой первый опыт написания кода для wp7, и у меня есть некоторые проблемы с этим. Когда я указываю token_req = "http://api.server.com/oauth/token", все в порядке, но когда я указываю *https, он не может подключиться, поэтому я получаю «Удаленный сервер вернул ошибку: NotFound». ошибка в строке

Ответ WebResponse = (HttpWebResponse) request.EndGetResponse (результат);

const string results
 private void button1_Click(object sender, RoutedEventArgs e)
        {
            string token_req = "https://api.server.com/oauth/token";
            string client_id = "...";
            string client_secret = "...";
            string username = Field_Login.Text;
            string password = Field_Password.Password;
            string token_req_param = "grant_type=password&client_id=" + client_id + "&client_secret=" + client_secret + "&username=" + username + "&password=" + password;



            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(token_req+"?"+token_req_param);

            request.BeginGetResponse(GetCallback, request);
        }

        void GetCallback(IAsyncResult result)
        {
            WebRequest request = (HttpWebRequest)result.AsyncState; 
            WebResponse response = (HttpWebResponse)request.EndGetResponse(result);
            using (StreamReader httpwebStreamReader = new StreamReader(response.GetResponseStream()))
            {
                results = httpwebStreamReader.ReadToEnd();

            }
            response.Close();

        }

Кроме того, я не могу подключиться к этому URL-адресу с помощью IE, который у меня есть с эмулятором wp7. знак равно


person kio_tk    schedule 13.08.2012    source источник


Ответы (2)


Error Not Found — это общее сообщение об ошибке WCF, лучше всего использовать Fiddler, хотя, по моему опыту, вы не настроили HTTPS для работы с вашим сервисом, если вы хотите настроить соединения HTTPS, вам понадобится больше магии, которую вы можете получить от

http://cgeers.com/2009/08/07/wcf-over-https/

person John Antony Daniel Nolan    schedule 13.08.2012
comment
вы не настроили HTTPS для работы с вашим сервисом Что это значит? Если я укажу https://twitter.com вместо своего API-сервера - он работает =\ Я вижу, что этот API-сервер тоже имеет http-адрес, но http:/ /api.server.com/oauth/token/ тоже не работает. - person kio_tk; 13.08.2012
comment
в основном я имею в виду, что ваш сервер IIS, на котором размещена ваша служба WCF, может быть не настроен для приема HTTPS-соединений, только HTTP-соединений (по умолчанию), также вашей службе WCF требуется некоторая работа с сертификатами и т. д., если вы хотите, чтобы HTTPS работал. Причина, по которой twitter... работает, заключается в том, что они внесли изменения. Я думаю, вам нужно немного больше прочитать о службах WCF и IIS, если вы хотите настроить HTTPS. - person John Antony Daniel Nolan; 14.08.2012

Вы пытаетесь использовать самоподписанный сертификат?

Если это так, то вы должны установить сертификат на телефон, что можно сделать, только указав WebBrowserTask на удаленный URL-адрес сертификата. Это отстой, но это единственный способ.

person Jon    schedule 13.08.2012
comment
вы также можете отправить себе сертификат по электронной почте. - person William Melani; 13.08.2012
comment
Не самоподписанный =\ И у меня нет телефона - только эмулятор - person kio_tk; 13.08.2012