发送和接收';张贴';数据
本文关键字:张贴 数据 | 更新日期: 2023-09-27 18:24:12
不知道是否有人能帮助我,我试图实现的是将数据从一个站点发送到另一个站点:所以在我的"发送"站点中,我有一个运行以下内容的页面:
string message;
message = "DATA DATA DATA DATA!!!";
System.Net.WebRequest request = WebRequest.Create("http://clt-umbraco.test.clt.co.uk/storereceive/?data-response");
request.ContentType = "application/json";
request.Method = "POST";
request.Headers["X-Parse-Application-Id"] = "aaaaaaaaaaaaaaa";
request.Headers["X-Parse-REST-API-Key"] = "bbbbbbbbbbbbbbb";
byte[] buffer = Encoding.GetEncoding("UTF-8").GetBytes("{'"channels'": ['"'"], '"data'": { '"alert'": '" " + message + "'" } }");
string result = System.Convert.ToBase64String(buffer);
Stream reqstr = request.GetRequestStream();
reqstr.Write(buffer, 0, buffer.Length);
reqstr.Close();
WebResponse response = request.GetResponse();
//jsonString.Text = response;
reqstr = response.GetResponseStream();
StreamReader reader = new StreamReader(reqstr);
jsonString.Text = reader.ReadToEnd();
在我的接收站点/页面上,我有以下页面加载:
string[] keys = Request.Form.AllKeys;
for (int i = 0; i < keys.Length; i++)
{
Response.Write(keys[i] + ": " + Request.Form[keys[i]] + "<br>");
}
我可以看到这个页面加载事件正在启动,但Request.Form.Allkeys对象是空的,我希望它包含来自发送页面的数据。很明显,我在某个地方大错特错了。。。。有人能帮忙吗??
谢谢,Craig
这是因为您不是在发布表单,而是在上传原始数据。
Set要求ContentType="application/x-www-form-urlencoded";
并填充您的帖子数据如下:
Key1=value1&key2=value2
您还应该考虑使用HttpServerUtility.UrlEncode 对值进行编码
如果你仍然不想发送原始数据,那么在服务器端,你应该读取传入的数据,比如:(而不是Request.Form[]
)
byte[] requestRawData = Request.BinaryRead(Request.ContentLength);