Elizabeths 2016-07-26 09:08 采纳率: 80%
浏览 1007
已采纳

用winform做的一个爬虫获取网站源码。url获取到的是乱码怎么弄?

图片说明

点击这个按钮,我这个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&degreefrom=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();
}
}
}

  • 写回答

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)));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘