Это код, который я написал на стороне приложения, который разрабатывается с использованием 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")
но оба метода возвращают ноль или ничего.
Как лучше всего читать JSON на веб-сервере, используя PHP в таком сценарии?
Лучший это довольно субъективный термин.
Однако то, что я успешно использую RestSharp в решении Xamarin для Android.
Я также очень рекомендую Почтальон а также обманщик для устранения неполадок в вашем сервисе.
Что касается вашего кода:
Вы должны утилизировать те предметы, которые являются одноразовыми, предпочтительно с помощью выражения «использование». Это включает в себя объект HttpWebResponse и Stream.
Других решений пока нет …