日期:2014-05-16  浏览次数:20546 次

C#软件post数据到网站如何接收
C#软件内的代码,是发送一条post数据给http://127.0.0.1/jie.aspx接口

client = new WebClient();
client.Encoding = Encoding.GetEncoding("utf-8");
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
client.Headers.Set("Content-Type", "application/x-www-form-urlencoded");
bytes = null;
address = "http://127.0.0.1/jie.aspx";
s = "name=xxx&b=xxx";
data = Encoding.UTF8.GetBytes(s);
bytes = client.UploadData(address, "POST", data);
 if (Encoding.UTF8.GetString(bytes).StartsWith("SUCCESS"))
{
          m.Issend = "发送成功";
}
else
{
          m.Issend = "发送失败";
}

现在想知道,我jie.aspx页面如何接收数据

string Name= WebUtility.GetQueryString("name", string.Empty);
string B= WebUtility.GetQueryString("b", string.Empty);

是这样接收的么?但是我好像返回的是数组
不知道哪里错了。

------解决方案--------------------
Post的话 应该使用Request.Form
------解决方案--------------------
Request.Form是接收post方法的对象。所以在客户端的表单发送中,一定要注明post方法。

request.Form ("user_name") 'request.form格式:request.form(参数);request.form接收的参数必须与form的元素一名称一致,否责就无法接收到数据!
------解决方案--------------------
在aspx.cs文件中调用Request.Form接受
------解决方案--------------------
而且 既然你post了 你用request["par"]是无法接收到的..


以前做过类似的 是硬件post来的数据



using (var reader = new System.IO.StreamReader(context.Request.InputStream))
 {
            String xmlData = reader.ReadToEnd();
}


你可以试试
------解决方案--------------------
如果只是简单的参数,可以Request.Form来获取,如果 是复杂的东西,如文本文件上传的,则需要通过Stream来获取
------解决方案--------------------
引用:
如果只是简单的参数,可以Request.Form来获取,如果 是复杂的东西,如文本文件上传的,则需要通过Stream来获取
+1