首页 新闻 搜索 专区 学院

POST Request Body 参数错误

0
悬赏园豆:5 [已解决问题] 解决于 2014-04-28 17:14

程序里面模拟做一个POST请求,出现了错误,Fiddler抓包,提示是Url无法识别,如同下面这种情况:

Request Body里面的参数没有读到,换成:

这样就没问题了。

 

第一种情况为什么取不到数据呢?

最长的路漫漫的主页 最长的路漫漫 | 菜鸟二级 | 园豆:252
提问于:2014-04-28 11:52
< >
分享
最佳答案
0

其实还是程序的问题,在这个form中加了个

System.Net.ServicePointManager.Expect100Continue = false;

就全部调通了,可能是服务器端改了某个东西造成的。

最长的路漫漫 | 菜鸟二级 |园豆:252 | 2014-04-28 17:13
其他回答(1)
0

你是怎么写到body的。

收获园豆:5
achu.me | 园豆:877 (小虾三级) | 2014-04-28 14:47
 public string GetXmlContent(string url, string param)
        {
            string responseText = string.Empty;
            ASCIIEncoding encoding = new ASCIIEncoding();

            byte[] data = encoding.GetBytes(param);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.Method = "POST";
            request.Timeout = 30*1000;//超时时间为30s

            request.ContentType = "application/x-www-form-urlencoded";

            try
            {
                request.ContentLength = data.Length;

                Stream sm = request.GetRequestStream();

                sm.Write(data, 0, data.Length);

                sm.Close();

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();


                if (response.StatusCode.ToString() != "OK")
                {
                    responseText = string.Empty;
                }
                else
                {
                    StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);

                    responseText = reader.ReadToEnd();
                }
            }
            catch (Exception)
            {
                return responseText;
            }

            return responseText;
        }

url包括基地址和pid,param包含api和sign

支持(0) 反对(0) 最长的路漫漫 | 园豆:252 (菜鸟二级) | 2014-04-28 15:20

@最长的路漫漫: 

看起来没什么问题啊,param参数是怎样的,拼接好了的吗。

支持(0) 反对(0) achu.me | 园豆:877 (小虾三级) | 2014-04-28 16:55

@achu.me: 这个问题自己解决了,其实不是这个地方的问题,第一种取不到数据是程序的问题。

支持(0) 反对(0) 最长的路漫漫 | 园豆:252 (菜鸟二级) | 2014-04-28 17:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册