json - 我的 Windows Phone 应用程序获得空响应(404 Not Found)第二次,第一次运行良好;如果没有 SSL,它总是可以正常工作

标签 json windows-phone-8 json-rpc

我正在构建我的第一个 windowsPhone 8.1 应用程序,我的应用程序的作用是创建与服务器的连接以从中获取信息,因此我正在编写代码以通过向服务器发送 json-rpc 请求以获取一些信息来执行此过程,我第一次成功获取它,但是当我发送第二个请求时,我收到了一个带有 404 错误的空响应(找不到页面)。
但是,当我在没有 https(仅限 http)的情况下调用该服务时,无论调用多少次,它都可以正常工作!

   public async Task<string> GetDataFromServer(string urlToCall, string JSONData,string RR)
        {
            string UserName = “XXXXXXX”
            string Password = "XXX";

            using ( var handler = new HttpClientHandler())
            {
                handler.Credentials = new NetworkCredential(UserName, Password);
                HttpClient client = new HttpClient(handler);

                HttpResponseMessage response = null;

            try
            {


                response = await client.PostAsync(urlToCall, new StringContent(JSONData.ToString(), Encoding.UTF8, " application/json"));
               string res = response.Content.ReadAsStringAsync().Result;




                Windows.UI.Popups.MessageDialog g = new Windows.UI.Popups.MessageDialog(res);
                await g.ShowAsync();
                return res;

            }
            catch (Exception ex)
            {


                Windows.UI.Popups.MessageDialog g = new Windows.UI.Popups.MessageDialog("Error is : " + ex.Message);
               g.ShowAsync();
               return "Error";
            }
            finally
            {
                response.Dispose();
                client.CancelPendingRequests();
                client.Dispose();
                handler.Dispose();
            }
            }

        }

再次,当第一次调用服务的 URL(以 https 开头)时,我得到了搜索数据的响应,但第二次我收到了一个带有 404 错误(页面未找到)的空响应!
请任何帮助

最佳答案

请尝试使用此解决方案。

        public async Task<string> SendJSONData3(string urlToCall, string JSONData)
    {
        string UserName = "XXXXXXXXX";
        string Password = "XXXXXXXXX";
        var httpWebRequest = (HttpWebRequest)WebRequest.Create(urlToCall);
        httpWebRequest.Credentials = new NetworkCredential(UserName, Password);
        httpWebRequest.ContentType = "text/json";
        httpWebRequest.Method = "POST";
        using (var streamWriter = new StreamWriter(await httpWebRequest.GetRequestStreamAsync()))
        {
            string json = JSONData;
            streamWriter.Write(json);
            streamWriter.Flush();
        }
        var httpResponse = (HttpWebResponse)await httpWebRequest.GetResponseAsync();
        using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
        {
            var result = streamReader.ReadToEnd();
            return result;
        }

    }

关于json - 我的 Windows Phone 应用程序获得空响应(404 Not Found)第二次,第一次运行良好;如果没有 SSL,它总是可以正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24038530/

相关文章:

windows-8 - Jquery 不适用于我在 Visual Studio 2012 中使用 HTML 5 模板创建的 Windows 8 Phone 应用程序

c# - WP8 上的 HttpWebRequest.BeginGetResponse

java - Android SSLContext 受信任的证书不适用于 API 8

json - 在手动停止线程之前,JMeter 没有通过 TCP 协议(protocol)通过 JSON RPC 从服务器获得答案

iPhone + JSON + 反射

json - Perl 生成的 JSON 中的 UTF8 字符串在客户端损坏

java - 如何从 json 响应中获取子对象

java - 从 API 读取数据

visual-studio - Visual Studio 2013 (wp7/win8) 中的可移植类库

documentation - JSON RPC 文档工具