阿,好烦阿,这个问题已经烦了我一天一夜了,我试过各种方法,找了各种资料还是不能解决问题是这样的
我做了一个用c#抓取网站内容的程序,程序中c#会自己根据条件生成url
string url="http://a.com/cmd.asp?extra="+name;
然后由自己编得一个对象--"Bot"的过程"Bot.GetPage(url)"返回该网页的内容
cmd.asp的代码只有
<%
a=request.QueryString("extra")
response.Write(a)
%>name不用中文没事,但是如果name是中文的话(比如url=http://a.com/cmd.asp?extra=哈哈),就会出现乱码
我试了这样几种方法
1。地址栏直接输入url的内容:没有乱码
2。地址栏输入对中文部分进行HttpUtility.URLEncode的地址:乱码
3。用bot抓直接的url:乱码
4。用bot抓中文部分已经encode的url:乱码我实在是想不出该怎么办了,希望前辈们指点一下
下面是bot的源代码:
public class Bot
{
public static string GetPage(string url)
{
try
{
WebClient wc = new WebClient();
Stream s = wc.OpenRead(url);
StreamReader sr = new StreamReader(s, Encoding.Default);
string content=sr.ReadToEnd();
return content;
}
catch
{
return "error";
}
}
}