完蛋了,用HttpWebResponse后原来的数据没有了

chenlm 2009-06-24 05:16:09
有三个页面
login.asp --登陆验证,取得cookie

a.asp--取得ID列表,然后通过这个ID去b.asp取数据

b.asp?id=xxx

b.asp?id=1这样出来页面后,页面有一个文本框text1,

text1中的数据为通过该id取得的数据库数据

还有一个按钮,用于保存该文本框数据(假设被修改,post到另外页面去执行保存)

我取得cookie以及id列表后,想得到b.asp页面的html代码进行分析,却发现遇到大问题,让我哭死

遇到的问题是这样,循环ID列表后所有的text1对应的数据库数据段都变成空了!!

实在想不通阿,我又没调用保存的页面
关键代码如下


public static string GetResponsedData(string datacontent, CookieContainer c, string u)
{
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] data = encoding.GetBytes(datacontent);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(u);
myRequest.Method = "POST"; //改为GET并去掉datacontent参数,数据倒是不会没有
myRequest.ContentType = "application/x-www-form-urlencoded ";
myRequest.AllowAutoRedirect = true;
myRequest.CookieContainer = c;
Stream newStream = myRequest.GetRequestStream();
newStream.Write(data, 0, data.Length);
newStream.Close();
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader reader;
reader = new StreamReader(myResponse.GetResponseStream(), Encoding.Default);
string content = reader.ReadToEnd();
reader.Close();
myResponse.Close();
return content;
}

string s;
//param:id=1,u=b.asp
//param为空,u=b.asp?id=1
//上述2种结果都一样,数据没了
for(int i;i<idlist.count;i++)
{
s+=GetResponsedData(param,c,u)
}


...全文
56 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenlm 2009-06-25
  • 打赏
  • 举报
回复
异站点,我用aspx去读网页的document是因为我写的这个aspx也要放到我自己的站点提供给别人看,目的是看了后发现b.aspx中如有不规范的及时修正

实现是可以实现的,就用我提问里的代码就可以了,只要把post改成get然后再稍微修改下就可以了.
燃烧的荷尔蒙 2009-06-24
  • 打赏
  • 举报
回复
你是不是想做FLASH游戏外挂啊?
wjq 2009-06-24
  • 打赏
  • 举报
回复
你怎么能搞个aspx去取其他aspx里的数据,是同站点还是异站点。
你该做的,最简单的方法,写个WinForm程序,里面用WebBrowser控件访问那写页面,访问到b.aspx的时候,取document里的数据。来分析,或者用dom模型来查找WebBrowser里的内容,找到这个文本框,并取其数据。我不认为搞个Aspx去取别的aspx里的数据可以实现,或者说你难以模拟一个正常访问b.aspx的客户端,所以难以取到数据。
chenlm 2009-06-24
  • 打赏
  • 举报
回复
因为可能一天录入100条数据,我不能这样每条去检查下阿,这样会死人的
chenlm 2009-06-24
  • 打赏
  • 举报
回复
我要开发一个aspx页面,去检查别人录入数据库的数据是否正确,符合规范

虽然我有权限去登陆login.aspx并访问b.aspx查看他们录入情况,但工作量非常大



login.aspx,b.aspx我无法修改也无法访问其数据库,只能从页面抓取
wjq 2009-06-24
  • 打赏
  • 举报
回复
也就是说你是开发一个类似测试工具的东西?这些检查你要在服务器端做?客户端做行么?因为这些都不是你做的,你也无权访问~
chenlm 2009-06-24
  • 打赏
  • 举报
回复
哦,不好意思,login.aspx,a.aspx,b.aspx都不是我开发的,数据库也无法访问

我的目的是通过网页抓取的方式,查看b.aspx中对应ID出来的text1中的数据是否符合规定要求
evaa006 2009-06-24
  • 打赏
  • 举报
回复
wjq 2009-06-24
  • 打赏
  • 举报
回复
1:没看明白你想干啥
2:没看明白你用的是ASP还是ASP.NET
3:你最好表述一下你最终目的是啥

110,561

社区成员

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

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

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