0

我在 C# 4.0 中有一个小应用程序。远程服务器是 Apache2。

我遇到错误问题:远程服务器返回错误:(414)当我使用 POST 方法向此处发送数据时,请求 URI 太大。

我尝试使用此代码连接到 apache2:

        String mainAddressWebApi = "http://myremoteserver.domain.pl/alias/index.php";
        private HttpWebRequest request;
        request = (HttpWebRequest)WebRequest.Create(this.mainAddressWebApi);
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.Referer = "http://stackoverflow.com";
        request.UserAgent = "Mozilla/5.0";
        request.CookieContainer = cookie;
        NetworkCredential credentials = new NetworkCredential("login", "password");
        this.request.Credentials = credentials; 

        Byte[] byteData = utf8.GetBytes(data);
        request.ContentLength = byteData.Length;

        Stream newstream = request.GetRequestStream();
        newstream.Write(byteData, 0, byteData.Length);
        newstream.Close();

        this.response = (HttpWebResponse)request.GetResponse();     //I get error here

数据应使用 POST 发送。数据最大为 2mb。你能帮助我吗?

4

2 回答 2

0

有一个类似的问题,除了 POST 工作正常,但具有完全相同参数的第二个 POST 返回 414。

设置request.KeepAlive = false;解决了问题

于 2013-11-28T23:57:14.727 回答
0

我曾经遇到过类似的问题,我的解决方案是这里的第一个答案: How to Avoid Server Error 414 for Very Long QueryString Values 也许它可以帮助你处理很长的查询字符串?

于 2012-08-06T13:31:35.303 回答