http怎么传输一个很长的字符串

问题描述

http怎么传输一个很长的字符串

winform端向webform传一个很长的字符串,超过get的长度限制,应该怎么写
我用的是webclient 实在不知道怎么写,uploadstring好像不行 还是我用法不对 希望能大神解惑
然后服务器怎么接收这个字符串 ,希望能有代码

解决方案

转成流StreamReader,还有分长度的吗?传文件都是字节流,大小由IIS决定的,HTTP就这些吧

解决方案二:

使用post方法........

解决方案三:

get方式,长度不能超过1024或2048个字节。
有两个方式:用post方式,或用http压缩传送

解决方案四:

public static string SendMsg(string fxPhone, string fxPassword, string toPhone, string msg)
        {
            try
            {
                string url = "u=" + fxPhone + "&";
                url = url + "p=";
                url = url + fxPassword + "&";
                url = url + "to=";
                url = url + toPhone + "&";
                url = url + "m=" + msg;

                string formUrl = "http://quanapi.sinaapp.com/fetion.php";
                string formData = url;                               //提交的参数

                //注意提交的编码 这边是需要改变的 这边默认的是Default:系统当前编码
                byte[] postData = Encoding.UTF8.GetBytes(formData);

                // 设置提交的相关参数
                HttpWebRequest request = WebRequest.Create(formUrl) as HttpWebRequest;
                Encoding myEncoding = Encoding.UTF8;
                request.Method = "POST";
                request.KeepAlive = false;
                request.AllowAutoRedirect = true;
                request.ContentType = "application/x-www-form-urlencoded";
                request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR  3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";
                request.ContentLength = postData.Length;

                // 提交请求数据
                System.IO.Stream outputStream = request.GetRequestStream();
                outputStream.Write(postData, 0, postData.Length);
                outputStream.Close();

                HttpWebResponse response;
                Stream responseStream;
                StreamReader reader;
                string srcString;
                response = request.GetResponse() as HttpWebResponse;
                responseStream = response.GetResponseStream();
                reader = new System.IO.StreamReader(responseStream, Encoding.GetEncoding("UTF-8"));
                srcString = reader.ReadToEnd();
                string result = srcString;   //返回值赋值
                reader.Close();
                return result;
            }
            catch
            {
                return "error";
            }
        }

解决方案五:

如果你要使用webclient,如下:

    public static void PostString (string address)
    {
        string data = "Time = 12:00am temperature = 50";
        string method = "POST";
        WebClient client = new WebClient ();
        string reply = client.UploadString (address, method, data);

        Console.WriteLine (reply);
    }

解决方案六:

如果你使用asp.net webform,直接用httpRequest的form来取,你自己写以下,调一调就懂了。

HTTP GET/POST是在content-type中指定的,你可以顺便了解下HTTP协议。

如果你使用mvc,可以参考以下代码:

        //
        // POST: /Customer/Create

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Create(FormCollection collection)
        {
            try
            {
                // TODO: Add insert logic here

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
时间: 2024-11-18 12:46:13

http怎么传输一个很长的字符串的相关文章

尹朝银:移动互联网产业是一个很长的产业链

成都高新区及软件服务外包产业推进办公室主任尹朝银 和讯科技消息 2012年12月20日至21日,2012移动游戏大会在成都川投国际酒店举行.本次大会以"盘点2012·展望2013 绽放与繁荣"为主题,着眼于移动游戏绽放与变局,深度聚焦移动游戏的战略布局.成都高新区及软件服务外包产业推进办公室主任尹朝银发表主题演讲. 尹朝银表示,移动互联网产业是一个很长的产业链,这个全景图基本上代表了移动互联网的方方面面,主要分为几个方面,移动的硬件层,平台软件层,应用服务层和行业应用层. 以下为演讲实

crystal report 10 我有一个比较长的字符串传给crystal report里的一个Prameter fields.需要换行显示. 可是每行结尾

问题描述 crystalreport10我有一个比较长的字符串传给crystalreport里的一个Prameterfields.需要换行显示.可是每行结尾要不显示半个,要不有1,2个字符显示不出来.怎么解决? 解决方案 解决方案二:做成一个subreport然后再显示于field中.这样它会随子报表的宽度而调节.解决方案三:不是Prameterfields,就是普通的列,单独这个列做成subreport不行吧,还有其他的列呢解决方案四:谁遇到这个问题的,帮帮忙了解决方案五:引用2楼suxiao

字符串-一个很基础的返回值问题

问题描述 一个很基础的返回值问题 想要打印字符串数组,去掉中间的空格和Tab,并且删除全为空的行,哪里有错?谢谢. #include #define MAXLINE 1000 int getline(char line[], int maxline); int copy(char to[],char from[]); int main(){ int len; int max; char line[MAXLINE]; max=0; while ((len=getline(line,MAXLINE)

在oracle一个有60万记录的表中删除几十条记录怎么用了很长时间?

oracle 在oracle一个有60万记录的表中删除几十条记录怎么用了很长时间?

java-两个很长的16进制字符串怎么进行异或运算?

问题描述 两个很长的16进制字符串怎么进行异或运算? str1=""0d1fe39e573488cf"" str2=""0d1fe39e573488ee595acd5c6d4ce0f445476794"" 怎不进行异或运算? 由于太长不能转化成long 解决方案 每2个一组,存入数组,然后循环异或. 解决方案二: byte[] array1 = str1.getBte();byte[] array2 = str2.getByt

一个<div>里放了两个验证控件,第二个控件显示时候,位置总被第一个占住了,中间有很长的空白,大家是如何解决的?

问题描述 一个<div>里放了两个验证控件,第二个控件显示时候,位置总被第一个占住了,中间有很长的空白,大家是如何解决的?<asp:RequiredFieldValidatorID="RequiredFieldValidator1"runat="server"ControlToValidate="txtUserID"ErrorMessage="*不能为空."></asp:RequiredField

想成为下一个名博 你的路还有很长

互联网的确是一个很奇迹的地方,不论你有没有背景,有没有人脉,只要你有技术,有韧劲,那么你就完全可以客服种种困难,实现自己的淘金梦,就像现在的卢松松博客一样,从一个草根一跃变为IT界名人,这其中靠的就是卢松松本身长期的坚持与学习.当然,成功带给卢松松的不仅有荣誉,还有财富.而这点显然也是咱们大家做博客更多的动力,通过博客给自己树立一个金字招牌,从而为自己的职场生涯加重砝码,从而有机会去赚的更多money,实现自己更多的梦想.不过当你树立这么一个远大的目标之后,你要明白以后的路会很难走,如果不能折腾

C#对很长的字符的操作

问题描述 C#对很长的字符的操作 我有这样一段文字问:我是某某,你好答:明白.问:你的个人简历?答:我叫张三,手机1388888888我只想要'问:'的东西,其它都不要,请问这样改怎么操作???求大神指教 解决方案 我想请问我说的这句话,后面的字符是什么?提问,总要将问题说清楚吧.你问题都不说清楚,别人怎么帮你. 解决方案二: 首先,你这些字符串是如何存贮的?如果是存贮在一个字符串中,可以采用下面的方法:字符串基本操作,先查找"问:",再查找回车换行符,中间的内容就是你想要的. 解决方

一个很有档次的问题,呵呵(Not in GZIP format)

问题描述 我在用socket下载页面(http://www.amazon.cn/mn/detailApp?ref=RK&uid=478-9408365-8400056&asin=B0036DD2ZS )时,在解压gzip时出现这个问题:Exception in thread "main" java.io.IOException: Not in GZIP formatat java.util.zip.GZIPInputStream.readHeader(GZIPInput