客户端通过xmlhttp.send(str)传给服务器端的str参数要怎么获取。 不要通过域名网址传参,和send内部变量传参。 就单独的获取一个没有变量的参数
不要通过域名网址传参,和send内部变量传参。
就单独的获取一个没有变量的参数值。
作者: fjzzywl 发布时间: 2011-06-16
作者: fangxinggood 发布时间: 2011-06-16
服务端通过 Request.InputStream 读取。
Stream str = Request.InputStream;
还是读不到。
作者: fjzzywl 发布时间: 2011-06-16
作者: fangxinggood 发布时间: 2011-06-16
作者: penginpha 发布时间: 2011-06-16
客户端应该是用Post。
我用POST就会出现这个异常。我是服务器新手,麻烦说清楚一点。
<b> 异常详细信息: </b>System.Web.HttpRequestValidationException: 从客户端(<?xml version="...='UTF-8'?><SOAP-ENV:Envelope S...")中检测到有潜在危险的 Request.Form 值。<br><br>
作者: fjzzywl 发布时间: 2011-06-16
POST提交,数据应该是键值对,在服务器端Request["KeyName"]应该可以获取到对应的值。
keyname是指send里面的变量名称吗?
作者: fjzzywl 发布时间: 2011-06-16
你最好把你自己简单的代码示例贴出来。上面只是提供大体的思路。具体步骤还是需要你自己实现。
作者: fangxinggood 发布时间: 2011-06-16
%3c%3fxml+version='1.0'+encoding%3d'UTF-8'%3f%3e%3c
得到的参数是有转义的,怎么还原。
作者: fjzzywl 发布时间: 2011-06-16
不过,可以用 HttpUtility.UrlDecode 解码。(需要添加 System.Web.dll)
作者: fangxinggood 发布时间: 2011-06-16
objHTTP.open("Post ", url, false, Type.Missing, Type.Missing);
objHTTP.setRequestHeader("Content-Type ", "application/x-www-form-urlencoded");
//ContentType="application/xml",读取不到值。
objHTTP.setRequestHeader("Content-Length ", RequestString.Length.ToString());
objHTTP.setRequestHeader("SOAPAction ", url);
objHTTP.setRequestHeader("ReadTimeout ", "Infinite");
objHTTP.send(RequestString);
我是用这样发送的。这样获取到的值就是转义的。而且我是通过Request.Form读取的。
用Request.InputStream里面的streamreader异常,提示此流上不支持超时。
readertimeout:str.ReadTimeout”引发了“System.InvalidOperationException”类型的异常。
作者: fjzzywl 发布时间: 2011-06-16
----
服务端:
string xml = "";
using (var sr = new StreamReader(Request.InputStream))
xml = sr.ReadToEnd();
BTW: 客户端直接用 HttpWebRequest 或者 WebClient 多好啊。
作者: fangxinggood 发布时间: 2011-06-16