0

向服务器提交数据时,Web 浏览器使用什么 url 编码?我使用我的应用程序,HttpUtility.UrlEncode(string data) 但没有像使用网络浏览器那样得到结果。

我的应用程序向论坛提交了一些文本数据。

当我使用网络浏览器(谷歌浏览器)提交数据时,我可以看到提交给服务器的确切文本,但是当我使用我的应用程序提交时,它显示了一些不同的字符。

那么向服务器提交任何数据是否必须进行 url 编码?

- -编辑 - -

        data = HttpUtility.UrlEncode(textBox1.Text);

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.CookieContainer = cookieContainer;
        request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5";
        request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
        request.Headers.Add("Accept-Charset", "ISO-8859-2,utf-8;q=0.7,*;q=0.7");
        request.Headers.Add("Accept-Encoding", "gzip, deflate");
        request.Headers.Add("Accept-Language", "pl,en-us;q=0.7,en;q=0.3");
        request.Method = "POST";
        byte[] byteArray = new byte[256];
        ASCIIEncoding ascii = new ASCIIEncoding();
        byteArray = ascii.GetBytes(data);     

        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = byteArray.Length;
        Stream dataStream = request.GetRequestStream();
        dataStream.Write(byteArray, 0, byteArray.Length);
        dataStream.Close();

textbox1 中的数据是这样的。

¦=¦=¦¦=¦=¦
RUNTIME………..: 2h:13m:15s
RELEASE SIZE……: 16,2GB
VIDEO CODEC…….: x264, 2pass,
4

1 回答 1

1

如果要在 url 参数中包含 URL 保留字符(?、& 等),通常只需要 URLEncode。

于 2012-06-22T15:13:53.380 回答