我有以下问题。我有通过 POST 发送 json 的方法:
public string request (string handler, string data)
{
WebRequest request = WebRequest.Create(baseUri + "/?h=" + handler);
request.Method = "POST";
request.ContentType = "text/json";
string json = "json=" + data;
byte[] bytes = Encoding.ASCII.GetBytes(json);
request.ContentLength = bytes.Length;
Stream str = request.GetRequestStream();
str.Write(bytes, 0, bytes.Length);
str.Close();
WebResponse res = request.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream());
lastResponse = sr.ReadToEnd();
return lastResponse;
}
在服务器上使用该方法时,POST 中没有数据。好像这段代码没有执行。
Stream str = request.GetRequestStream();
str.Write(bytes, 0, bytes.Length);
str.Close();
在服务器上,我使用以下 php 脚本进行调试:
<?php print_r($_POST); ?>
还尝试如下写入流:
StreamWriter strw = new StreamWriter(request.GetRequestStream());
strw.Write(json);
strw.Close();
结果 - 零响应。作为响应,出现了一个空数组。