为了账号安全,请及时绑定邮箱和手机立即绑定

url参数的问题。

url参数的问题。

斯蒂芬大帝 2018-12-06 13:07:27
HttpUtility.UrlEncodeUnicode(谷歌) 的结果是 %u8c37%u6b4c http://ks.pconline.com.cn/bbs.jsp?forumName=%D2%BA%BE%A7%B5%E7%CA%D3%BA%CD%B5%C8%C0%EB%D7%D3&forumValue=0000000071&forumOrgID=0000000071&forumOrgName =%D2%BA%BE%A7%B5%E7%CA%D3%BA%CD%B5%C8%C0%EB%D7%D3&qx=&q=%u8c37%u6b4c&scope=title 在这个网站里的搜索框里输入谷歌。q=%u8c37%u6b4c string searchkey =searchnum.Replace("{0",System.Web.HttpUtility.UrlEncodeUnicode(谷歌));  Request.CookieContainer = new CookieContainer();             Response = (HttpWebResponse)Request.GetResponse();         Stream stream = Response.GetResponseStream();                 byte[] streambyte = StreamToBytes(stream);                 if (Response.StatusCode == HttpStatusCode.OK && Response.ContentLength < 1024 * 1024)                 {                           HTML = Encoding.Default.GetString(streambyte);     } 如果先在url里编码,然后用程序抓取,网页里搜索的是u8c37%u6b4c,也就是把“谷歌”编码后的值搜索了。 如果把q=谷歌,搜索的是乱码。英文的就是想搜的东西。就是处理中文关键字。 谁能给出个解决方案?网页在什么时候对这些中文参数进行的编码? 请给出具体的方案。谢谢!!
查看完整描述

8 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

浏览器会对Url编码.

查看完整回答
反对 回复 2019-01-21
?
慕容3067478

TA贡献1773条经验 获得超3个赞

在传值前进行编码  再进行传递 使用时 解码

查看完整回答
反对 回复 2019-01-21
?
慕村9548890

TA贡献1884条经验 获得超4个赞

那这种情况下在什么时候进行解码呢?
查看完整回答
反对 回复 2019-01-21
?
慕森王

TA贡献1777条经验 获得超3个赞

我觉得也是这个原因,就是不知道在哪解码?
查看完整回答
反对 回复 2019-01-21
?
心有法竹

TA贡献1866条经验 获得超5个赞

传到那个页面 在load里解码
查看完整回答
反对 回复 2019-01-21
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

 HTML = Encoding.Default.GetString(streambyte);

换成以下代码试试

HTML = Encoding.GetEncoding(Response.CharacterSet).GetString(streambyte)

查看完整回答
反对 回复 2019-01-21
?
青春有我

TA贡献1784条经验 获得超8个赞

我说的不是这个问题,是url参数编码解码的问题
查看完整回答
反对 回复 2019-01-21
  • 8 回答
  • 0 关注
  • 375 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信