.net 2.0 webrequest getresponse 方法404进抛异常,但我想获取response的流 应该怎么办 高人救命啊

高人拜谢了问题已解决catch(WebExceptionex)ex.Response属性中有是反回的流http://msdn.microsoft.com/zh-cn/li... 高人 拜谢了
问题已解决  catch (WebException ex)  ex.Response属性中有是反回的流 
http://msdn.microsoft.com/zh-cn/library/system.net.webexception.response.aspx
还得自己动手啊
展开
 我来答
jiangwfzl619
2012-06-06
知道答主
回答量:20
采纳率:0%
帮助的人:13.5万
展开全部
给你一段我在用的函数吧,直接调用就是了:
private string WebGet(string url,string key1,string value1,string useEncodeing="UTF8",string EndString="")
{
string res = "";
//GET 方式通过在网络地址中附加参数来完成数据提交,对于中文的编码,常用的有 gb2312 和 utf8 两种,用 gb2312 方式编码访问的程序代码如下:
try
{
Encoding myEncoding;
if (useEncodeing == "UTF8")
myEncoding = Encoding.UTF8;// Encoding.GetEncoding("gb2312");//utf8 Encoding.UTF8; //
else if (useEncodeing == "gb2312")
myEncoding = Encoding.GetEncoding("gb2312");
else
myEncoding = Encoding.Default;
string para1 = key1;
string para1vlaue = value1;
string address="";
if(key1.Length>0)
address = url + HttpUtility.UrlEncode(para1, myEncoding) + "=" + HttpUtility.UrlEncode(para1vlaue, myEncoding);
else
address = url + HttpUtility.UrlEncode(para1vlaue, myEncoding);

if (EndString.Length > 0)
address = address + EndString;
HttpWebRequest req =
(HttpWebRequest)HttpWebRequest.Create(address);
req.Method = "GET";
using (WebResponse wr = req.GetResponse())
{
//在这里对接收到的页面内容进行处理
StreamReader reader = new StreamReader(wr.GetResponseStream(), myEncoding);//Encoding.UTF8
res = reader.ReadToEnd();
}
}
catch { }
return res;

}
追问
WebResponse wr = req.GetResponse()
这一步已经抛异常 下面是执行不了的
高手有没有好的处理办法
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
多喝水3K
2012-06-07 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:91.8万
展开全部
都404了,还能获取到流吗?
那是服务器行为,你再努力也得不到的!
追问
但有的服务器 是故意设置返回状态为404 而且还有返回内容 但C#getresponse() 方法抛异常了 能不能有其它办法可以 获取到服务器返回的http 协议头或者更多的内容?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式