点击这个按钮,我这个responseText输出的网站源码,软件工程师都是乱码。
private void button1_Click(object sender, EventArgs e)
{
HttpWebRequest request = null;
HttpWebResponse response = null;
string url = "http://search.51job.com/jobsearch/search_result.php?fromJs=1&jobarea=000000%2C00&district=000000&funtype=0000&industrytype=00&issuedate=9&providesalary=99&keyword=%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%B8%88&keywordtype=2&curr_page=1&lang=c&stype=2&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=1&list_type=0&fromType=14&dibiaoid=0&confirmdate=9";
while (true)
{
//string formData = url.Substring(url.IndexOf('1') + 1);
byte[] requestBuffer = Encoding.UTF8.GetBytes(url);
request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = requestBuffer.Length;
request.KeepAlive = true;
request.Host = "search.51job.com";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36";
request.Referer = url;
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(requestBuffer, 0, requestBuffer.Length);
requestStream.Close();
}
response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312")))
{
string responseText = reader.ReadToEnd();
}
}
}
用winform做的一个爬虫获取网站源码。url获取到的是乱码怎么弄?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
7条回答 默认 最新
- Go 旅城通票 2016-07-26 09:14关注
不是乱码,是中文被编码过了。你要还原为中文用
Response.Write(HttpUtility.UrlDecode("%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%B8%88", Encoding.GetEncoding(65001)));
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记