日期:2014-05-20  浏览次数:20470 次

#########请教关于HttpWebRequest的问题~~~
请教一下,我用HttpWebRequest去获取一个网页的数据,是一个xml文件,如果直接捉这个文件,那么返回正常的数据,但这样经常是老的数据,我在路径后面加一个参数强行更新,但老是403报错,晕~~
http://*******/test.xml(这样可以得到数据)
http://*******/test.xml?temp=123456(这样出现“(403)   已禁止”错误)
但我换成别的xml文件来捉取,带上?temp=123456却可以,也就是说,有的可以,有的不行,但那个xml只是一个非常普通的文件而已,怎么会这样???麻烦有经验的朋友帮忙一下,谢谢了!!~~


补充一下,那个http://*******/test.xml?temp=123456,如果用xmlhttp来捉取,也是没问题的,所以感觉应该是HttpWebRequest的问题了,应该不是目标web服务器有什么特殊设置~~

------解决方案--------------------
你试试用csdn的贴子的xml加查询参数会不会有问题?
------解决方案--------------------
但这样经常是老的数据????--是需要获取新的xml数据吗?如果是,建议试一试cache,cache里有基于文件的依赖
------解决方案--------------------
xmlhttp既然 可以获取到带 参数的 新页面信息
何必 一定要去用HttpWebRequest

HttpWebRequest不能获取
应该是和IIS的配置有关系
------解决方案--------------------
你直接用ie访问http://*******/test.xml呢?

*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------
url?ts=一个随机数(可以根据当前时间来取)试试!
------解决方案--------------------

应该是编码的问题吧
------解决方案--------------------
学习~~
------解决方案--------------------
mark
------解决方案--------------------
确实是你说道那样。但可以解决的
加req.UserAgent即可解决


HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create( "http://www.macauslot.com/soccer/xml/odds/odds_config.xml?temp=123456 ");
req.Method = "GET ";
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1) Web-Sniffer/1.0.24 ";