无法从使用C#开发的Android应用程序接收json

时间:2015-11-05 11:40:03

标签: c# php android json xamarin

这是我在应用程序端编写的代码,正在使用Xamarin开发

HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(ApiUrl);
objRequest.Method = "POST";
        objRequest.ContentType = "application/x-www-form-urlencoded";//"application/json;charset=utf-8";
        objRequest.Headers.Add("Authentication", "web60134");       
        UTF8Encoding utf8Encoding = new UTF8Encoding();
        byte[] arrRequest;
        arrRequest = utf8Encoding.GetBytes(JsonReq);
        objRequest.ContentLength = arrRequest.Length;
        Stream requestStream = objRequest.GetRequestStream();
        requestStream.Write(arrRequest, 0, arrRequest.Length);
        requestStream.Close();
        HttpWebResponse res = (HttpWebResponse)objRequest.GetResponse();
        StreamReader streamReader = new StreamReader(res.GetResponseStream());
        string result = streamReader.ReadToEnd();

这是在服务器端编写的代码,即PHP

$recvd = $_POST['TH_ET_LoginProcess'];
$recvdArr = json_decode($recvd);

我尝试使用file_get_contents("php://input"),但这两种方法都返回null或没有。

在这种情况下,使用PHP在Web服务器上读取JSON的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

最佳是一个非常主观的术语。

然而,我在Xamarin Android解决方案中成功使用了RestSharp

我还强烈建议PostManFiddler对您的服务进行问题排查。

关于您的代码:

您应该处理那些一次性的物品,最好使用'使用'声明。这包括HttpWebResponse对象以及Stream的对象。