C# ajax Http psot 参数太长 导致操作失败问题解决方法

本文介绍了在C#中使用HTTP POST传递参数时遇到的问题,包括请求长度限制导致的操作失败。尝试了修改web.config的httpruntime配置、IIS设置和改变ContentType类型等方法未果。最终发现JSON参数需要以key=value格式且values值需要进行urlencode。对于AJAX HTTP POST,当参数超过64000个字节时会失败,可以通过调整web.config来解决此问题。参考了相关博客文章提供解决方案。
摘要由CSDN通过智能技术生成

http post 参数本身没有长度限制
首先说下 C#语言实现http post协议传参 调用其他接口失败
在网上查找好多资料 解决办法有:
1.wbe.config 设置httpruntime中Requestlegth最大
2.IIS设置
3.改变ContentType类型
尝试后 还是失败
最终自己写了个接口 传相同的参数
调试发现json传过来的参数 是urlencode的 页面中request.params是获取不到参数的
参数的格式是key=values 然后把post参数 改成key=values格式 再次调用成功
ContentType为application/x-www-form-urlencoded成功
ContentType为 request.ContentType = “multipart/form-data; boundary=” + str2;失败
其中 还有个要点:参数的values值要urlencode 不是整个参数都urlencode

 public string Verify()
        {
            try
            {
				 string str1 = "sdfjshdfljshdf";
				 str1 = System.Web.HttpUtility.UrlEncode(str1);
                string str = "key1=" + str1;
                string url = "http://localhost:2814/Test.aspx";
                byte[] byteArray = Encoding.UTF8.GetBytes(str); // 转化
                HttpWebRequest webRequest2 = (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值