当前位置:编程学习 > C#/ASP.NET >>

C# 发送数据提示 远程服务器返回错误: (500) 内部服务器错误

我有个发帖的
       /// </summary>
      /// <param name="strUrl">发包的网址是:http://grouppix.bokee.com/post/upload.fcgi </param>
      /// <param name="strHand">原始标题</param>
      /// <param name="strThing">要提交的文本内容</param>
        public string  GetSubmit(string strUrl,string strHand,string strThing)
        {
            StringBuilder sb = new StringBuilder();
            try
            {
                var req = (HttpWebRequest)WebRequest.Create(strUrl);

                //边界字符
                var boundary = "------WebKitFormBoundary" + DateTime.Now.Ticks.ToString("x");
                //边界字符
                var beginBoundary = boundary + "\r\n";
                //最后的字符
                var endBoundary = boundary + "--\r\n";

                string fileHeader =
                                    beginBoundary + "Content-Disposition: form-data; name=\"Pub\"\r\n\r\n" +
                                    "提交"+"\r\n" + boundary + "\r\n" + "Content-Disposition: form-data; name=\"title\"\r\n\r\n" +
                                    strHand + "\r\n" + boundary + "\r\n" + "Content-Disposition: form-data; name=\"value\"\r\n\r\n" +
                                    strThing+ "\r\n" + boundary + "\r\n" + "Content-Disposition: form-data; name=\"groupId\"\r\n\r\n" +
                                    "73667" + "\r\n" + endBoundary;
                
                byte[] data = Encoding.ASCII.GetBytes(fileHeader);
                req.Method = "POST";
                req.KeepAlive = true;
                req.Referer = "http://group.bokee.com/group/forumnew.action?groupId=73667";
                req.Host = "grouppix.bokee.com";

                req.ContentLength = data.Length;
                req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.205 Safari/534.16";
                req.ContentType = "multipart/form-data; boundary=" + boundary;
                req.Accept = "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";

                req.Headers.Add("Cache-Control", "max-age=0");
                req.Headers.Add("Origin", "http://group.bokee.com");
                req.Headers.Add("Accept-Encoding", "gzip,deflate,sdch");
                req.Headers.Add("Accept-Language", "zh-CN,zh;q=0.8");
                req.Headers.Add("Accept-Charset", "GBK,utf-8;q=0.7,*;q=0.3");
                req.CookieContainer = _cookie;
                Stream meStream = req.GetRequestStream();
                meStream.Write(data, 0, data.Length);
                meStream.Close();

                HttpWebResponse res = (HttpWebResponse)req.GetResponse();
                StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.Default );
                _cookie.Add(res.Cookies);
                sb.Append(sr.ReadToEnd());
                res.Close();
                req.Abort();
            }
            catch (Exception ex)
            {
                sb.Remove(0, sb.Length);
                sb.Append("FindErr000001:" + ex.Message);
            }
            return sb.ToString();

        }

用户号是:ttyykk3 密码000000
现在就是运行到HttpWebResponse res = (HttpWebResponse)req.GetResponse();这里就会提示
远程服务器返回错误: (500) 内部服务器错误
调了好久没补知道原因,希望遇到高手帮忙下 --------------------编程问答-------------------- data字节数组有内容嘛???  --------------------编程问答--------------------

HttpWebResponse res;
 try
 {
     res = (HttpWebResponse)req.GetResponse();
 }
 catch (WebException ex)
 {
     res = (HttpWebResponse)ex.Response;
 }
 StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.Default);
 sb.Append(sr.ReadToEnd());
 return sb.ToString();


具体参考这里
http://www.cnblogs.com/cresuccess/archive/2009/12/09/1619977.html --------------------编程问答-------------------- 如果你请求的这个页面正好是一个有异常发生的页面,或者不存在的页面。那么你上面的代码就会在
req.GetResponse();
处抛出异常:远程服务器返回错误: (500) 内部服务器错误。 --------------------编程问答-------------------- 是存在的页面,网页是http://group.bokee.com/group/forumnew.action?groupId=73667
但里面post的网址却不是这个,post的网址是http://grouppix.bokee.com/post/upload.fcgi  --------------------编程问答-------------------- 我看了data数组里面有内容,内容是这样的 0  对应的是52
1  对应..131
2 对应  121
这只是打比方 --------------------编程问答-------------------- http://grouppix.bokee.com/post/upload.fcgi 
这个地址是无法访问的吧,那就是不存在了。 --------------------编程问答-------------------- 这个是根据你的代码抛出的最后得到的值

<html>
<head><title>500 Servlet Exception</title></head>
<body>
<h1>500 Servlet Exception</h1>
<code><pre>
java.io.IOException: Corrupt form data: premature ending
at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:205)
at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:222)
at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:173)
at net.sourceforge.stripes.controller.StripesRequestWrapper.<init>(StripesRequestWrapper.java:113)
at net.sourceforge.stripes.controller.StripesFilter.wrapRequest(StripesFilter.java:217)
at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:189)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.bokee.web.DebugFilter.doFilter(DebugFilter.java:79)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at org.apache.filter.CharsetFilter.doFilter(CharsetFilter.java:57)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:419)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:389)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:492)
at com.caucho.util.ThreadPool.run(ThreadPool.java:425)
at java.lang.Thread.run(Thread.java:595)
</pre></code>
<hr /><small>
Resin-3.0.18 (built Fri, 24 Feb 2006 02:47:03 PST)
</small>
</body></html>
--------------------编程问答-------------------- 可我登陆网页抓得数据你看,明明是这个网址啊,奇怪了啊

POST /post/upload.fcgi HTTP/1.1
Host: grouppix.bokee.com
Connection: keep-alive
Referer: http://group.bokee.com/group/forumnew.action?groupId=73667
Content-Length: 437
Cache-Control: max-age=0
Origin: http://group.bokee.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.205 Safari/534.16
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryBQaPBvBJQh2GuFM0
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Cookie: vjuids=28c6da1b6.131e2cddb41.0.a4a5f0ec; __utma=59385918.361101666.1313805852.1313805852.1313805852.1; __utmc=59385918; __utmz=59385918.1313805852.1.1.utmcsr=groups.bokee.com|utmccn=(referral)|utmcmd=referral|utmcct=/; Hm_lvt_90e2aedc2b355023e0a0279022e90df9=1313809307329; Hm_lpvt_90e2aedc2b355023e0a0279022e90df9=1313809912983; bokie=dHR5eWtrMyx0dHl5a2szLmJva2VlLmNvbSwyMDQ5MjU4OSw0NzIwNTU2Myw1LFNhdCBBdWcgMjAgMTE6NDY6NDMgQ1NUIDIwMTEsMSw4NmY3ODAyMDBjNjliMjEwYjU3NzUwMTg0ZmIyYThjMg==; visitor=ttyykk3.bokee.com; vjlast=1313770167.1313770167.30

------WebKitFormBoundaryBQaPBvBJQh2GuFM0
Content-Disposition: form-data; name="Pub"

Ìá½»
------WebKitFormBoundaryBQaPBvBJQh2GuFM0
Content-Disposition: form-data; name="title"

Êǵķ¢ÉúµØ
------WebKitFormBoundaryBQaPBvBJQh2GuFM0
Content-Disposition: form-data; name="value"

·¢ÉúµØ
------WebKitFormBoundaryBQaPBvBJQh2GuFM0
Content-Disposition: form-data; name="groupId"

73667
------WebKitFormBoundaryBQaPBvBJQh2GuFM0--
--------------------编程问答-------------------- http://group.bokee.com/group/forumnew.action?groupId=73667
就是这个网址,号是:ttyykk3 密码是000000
我随便输入标题跟内容发帖的数据,现在就是出错,不知道怎么回事 --------------------编程问答--------------------
引用 9 楼 wujianghuawujianghua 的回复:
http://group.bokee.com/group/forumnew.action?groupId=73667
就是这个网址,号是:ttyykk3 密码是000000
我随便输入标题跟内容发帖的数据,现在就是出错,不知道怎么回事


我这边可以的啊,我用的Firefox,刚用IE9试了一下,自动到登陆页面,而且输入你提供的用户名和密码,就一直在页面http://reg.bokee.com/account/web/navigator1.jsp处不走了。

看来可能是你UserAgent有问题,感觉。 --------------------编程问答-------------------- 网页登陆没问题呢,就是软件模拟登陆的时候有我问题,你那边模拟发帖能成功? --------------------编程问答--------------------
引用 11 楼 wujianghuawujianghua 的回复:
网页登陆没问题呢,就是软件模拟登陆的时候有我问题,你那边模拟发帖能成功?


可以啊,我用这个号,发了一个贴,然后还回复了一个,你看看。

http://group.bokee.com/group/forumpost.action?groupId=73667&tid=13138174479771057&t=re¤t=1 --------------------编程问答-------------------- 啊,你是用我上面的代码实现的,还是直接在网页上实现的啊,我在直接在网页上也可以发帖啊,但用我软件的代码运行到那里就会出错 --------------------编程问答--------------------
引用 10 楼 taomanman 的回复:
引用 9 楼 wujianghuawujianghua 的回复:

http://group.bokee.com/group/forumnew.action?groupId=73667
就是这个网址,号是:ttyykk3 密码是000000
我随便输入标题跟内容发帖的数据,现在就是出错,不知道怎么回事


我这边可以的啊,我用的Firefox,刚用IE9试了一下,自动到登陆页面,而且……


那就换FF的,LZ的那个怎么看怎么像杂牌
Windows NT 6.1;
AppleWebKit/534.16
Chrome/10.0.648.205
Safari
--------------------编程问答-------------------- 刚才下了个ff浏览器,然后模拟发帖,还是失败,我郁闷,以前从来没遇到过这样的 --------------------编程问答-------------------- 瞎猜一下:莫不是LZ已经进入了别人的黑名单?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,