httpwebrequest问题

小道消息 2014-11-21 07:06:49
如图:我模拟请求一个网站,模拟登录后得到cookie 想请求图中登录后的页面出错了
出错信息:The remote server returned an error: (500) Internal Server Error.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Draft//EN">
<HTML>
<HEAD>
<TITLE>Error 500--Internal Server Error</TITLE>
<META NAME="GENERATOR" CONTENT="WebLogic Server">
</HEAD>
<BODY bgcolor="white">
<FONT FACE=Helvetica><BR CLEAR=all>
<TABLE border=0 cellspacing=5><TR><TD><BR CLEAR=all>
<FONT FACE="Helvetica" COLOR="black" SIZE="3"><H2>Error 500--Internal Server Error</H2>
</FONT></TD></TR>
</TABLE>
<TABLE border=0 width=100% cellpadding=10><TR><TD VALIGN=top WIDTH=100% BGCOLOR=white><FONT FACE="Courier New"><FONT FACE="Helvetica" SIZE="3"><H3>From RFC 2068 <i>Hypertext Transfer Protocol -- HTTP/1.1</i>:</H3>
</FONT><FONT FACE="Helvetica" SIZE="3"><H4>10.5.1 500 Internal Server Error</H4>
</FONT><P><FONT FACE="Courier New">The server encountered an unexpected condition which prevented it from fulfilling the request.</FONT></P>
</FONT></TD></TR>
</TABLE>

</BODY>
</HTML>
登录后其它的get请求可以活的html 唯有这个post请求不行
...全文
325 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQ234788028 2014-12-03
  • 打赏
  • 举报
回复
引用 11 楼 WorkOnline 的回复:
引用 10 楼 QQ234788028 的回复:
[quote=引用 8 楼 yadmek 的回复:] [quote=引用 7 楼 WorkOnline 的回复:] [quote=引用 6 楼 QQ234788028 的回复:] 熟悉post模拟,有需要联系
邮箱多少啊 我邮箱13813043417@139.com
貌似要收你钱的[/quote] 难道是无偿服务吗?那你来哦[/quote] 联系方式多少[/quote] ID那么大写着qq号,眼睛看哪里
小道消息 2014-12-01
  • 打赏
  • 举报
回复
引用 10 楼 QQ234788028 的回复:
引用 8 楼 yadmek 的回复:
[quote=引用 7 楼 WorkOnline 的回复:] [quote=引用 6 楼 QQ234788028 的回复:] 熟悉post模拟,有需要联系
邮箱多少啊 我邮箱13813043417@139.com
貌似要收你钱的[/quote] 难道是无偿服务吗?那你来哦[/quote] 联系方式多少
QQ234788028 2014-11-28
  • 打赏
  • 举报
回复
引用 8 楼 yadmek 的回复:
引用 7 楼 WorkOnline 的回复:
[quote=引用 6 楼 QQ234788028 的回复:] 熟悉post模拟,有需要联系
邮箱多少啊 我邮箱13813043417@139.com
貌似要收你钱的[/quote] 难道是无偿服务吗?那你来哦
小道消息 2014-11-27
  • 打赏
  • 举报
回复
引用 8 楼 yadmek 的回复:
引用 7 楼 WorkOnline 的回复:
[quote=引用 6 楼 QQ234788028 的回复:] 熟悉post模拟,有需要联系
邮箱多少啊 我邮箱13813043417@139.com
貌似要收你钱的[/quote]- - 要不要这样!
yadmek 2014-11-27
  • 打赏
  • 举报
回复
引用 7 楼 WorkOnline 的回复:
引用 6 楼 QQ234788028 的回复:
熟悉post模拟,有需要联系
邮箱多少啊 我邮箱13813043417@139.com
貌似要收你钱的
小道消息 2014-11-27
  • 打赏
  • 举报
回复
引用 6 楼 QQ234788028 的回复:
熟悉post模拟,有需要联系
邮箱多少啊 我邮箱13813043417@139.com
QQ234788028 2014-11-27
  • 打赏
  • 举报
回复
熟悉post模拟,有需要联系
save4me 2014-11-23
  • 打赏
  • 举报
回复
加上User-Agent,Referer
小道消息 2014-11-22
  • 打赏
  • 举报
回复
如图这是抓包工具抓到要post的数据 如下是我提交的post数据 应该没有问题
sbParam = new StringBuilder();
            sbParam.Append("action=queryData");
            sbParam.Append("&activeName=");
            sbParam.Append("&alarm_time=");
            sbParam.Append("&appId=");
            sbParam.Append("&attemper_reason=");
            sbParam.Append("&backed_reason=");
            sbParam.Append("&backed_way=");
            sbParam.Append("&backedReasonCode=");
            sbParam.Append("&backedReasonName=");
            sbParam.Append("&backSteps=");
            sbParam.Append("&backType=");
            sbParam.Append("&due_time=1");
            sbParam.Append("&field1=");
            sbParam.Append("&isQuery=N");
            sbParam.Append("&isquerydata=N");
            sbParam.Append("&lockType=10");
            sbParam.Append("&overReason=");
            sbParam.Append("&postAllField={\"=\":{},\"@\":{lockType:\"10\"},\"Q\":{query:\"N\"}}");
            sbParam.Append("&postStr=");
            sbParam.Append("&processTitle=");
            sbParam.Append("&refreshCondition=Y");
            sbParam.Append("&scheduleSteps=");
            sbParam.Append("&sysUser=88882");
            sbParam.Append("&tabpage=main");
            sbParam.Append("&taskId=");
            sbParam.Append("&terminate_reason=");
            sbParam.Append("&viewCond=");
            sbParam.Append("&viewfield=");
            sbParam.Append("&viewStr=");
            sbParam.Append("&worklistPagination_colname=");
            sbParam.Append("&worklistPagination_pageno=1");
            sbParam.Append("&worklistPagination_pagesize=15");
            sbParam.Append("&worklistPagination_sid=null");
            sbParam.Append("&worklistPagination_sorttype=");
那网站用的是weblogic服务器,是不是服务器那里限制了什么,不让我模拟post请求。
threenewbee 2014-11-22
  • 打赏
  • 举报
回复
检查你提交的参数和浏览器的有什么不同。500错误发生在服务器端,很难说。
jetable 2014-11-21
  • 打赏
  • 举报
回复
或许这个页面不支持Post请求,或许会验证refer地址,不确定
小道消息 2014-11-21
  • 打赏
  • 举报
回复
这个网站在ie浏览器中打开一切正常,所有页面都可以浏览。
 CookieContainer cCurrent = new CookieContainer();
            Uri u = new Uri(url);
            cCurrent.Add(u, new Cookie("JSESSIONID", jsessionId));
            cCurrent.Add(u, new Cookie("logonUsername", "88882"));
            if (P3p != null)
            {
                cCurrent.Add(u, new Cookie("P3P", P3p));
            }
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            UTF8Encoding encoding = new UTF8Encoding();
            //ASCIIEncoding encoding = new ASCIIEncoding();

            byte[] data = encoding.GetBytes(postdata);//post 方式的编码                                

            request.Headers.Clear();
            request.Method = "POST";//必须为大写,不然会出错                        

            request.ContentType = "application/x-www-form-urlencoded";
            //request.ContentType = "text/html;charset=UTF-8";
            request.ContentLength = data.Length;
            request.KeepAlive = true;
            request.CookieContainer = cCurrent;
            request.Timeout = 3000;    //超时时间            
            //request.se

            //提交请求
            stream = request.GetRequestStream();
            stream.Write(data, 0, data.Length);
            stream.Close();

            //接收
            string result = "";            
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();           
            if (response.StatusCode != HttpStatusCode.OK)
                return "";

            //StreamReader streamReader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
            //StreamReader streamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            StreamReader streamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            result = streamReader.ReadToEnd();
            request.Abort();
            response.Close();
            streamReader.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 在模拟请求这个post请求时候这行就报错了!

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧