HttpWebRequest 有关 uri 的编码问题
利用 http analyzer 抓包的URL
http://www.qidian.com/BookReader/DivAuthorTipping.aspx?bookId=1321104&authorId=1648617&authorName=%u71d5%u5f52%u6881
我的代码如下
string myUri = "http://www.qidian.com/BookReader/DivAuthorTipping.aspx?bookId=1321104&authorId=1648617&authorName=%u71d5%u5f52%u6881";
HttpWebRequest myHttpWebRequest12 = (HttpWebRequest)WebRequest.Create(myUri);
if (IsNeedProxy)
myHttpWebRequest12.Proxy = proxy;
myHttpWebRequest12.Timeout = 500000;
myHttpWebRequest12.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-silverlight, */*";
myHttpWebRequest12.Referer = strUrl + strUser2;
myHttpWebRequest12.Headers.Add("Accept-Language", "zh-cn");
myHttpWebRequest12.Headers.Add("Accept-Encoding", "gzip, deflate"); //add by King Lao
myHttpWebRequest12.Headers.Add("Cache-Control", "no-cache");
myHttpWebRequest12.ContentType = "application/x-www-form-urlencoded ";
myHttpWebRequest12.ContentLength = indata1.Length;
myHttpWebRequest12.Method = "POST";
myHttpWebRequest12.CookieContainer = myCookieContainer;
myHttpWebRequest12.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; MAXTHON 2.0)";
Stream myRequestStream12 = myHttpWebRequest12.GetRequestStream();
StreamWriter myStreamWriter12 = new StreamWriter(myRequestStream12, Encoding.GetEncoding("gb2312"));
myStreamWriter12.Write(indata1);
myStreamWriter12.Close();
myRequestStream12.Close();
HttpWebResponse myHttpWebResponse12 = (HttpWebResponse)myHttpWebRequest12.GetResponse();
Stream myResponseStream12 = myHttpWebResponse12.GetResponseStream();
StreamReader myStreamReader12 = new StreamReader(myResponseStream12, Encoding.GetEncoding(myHttpWebResponse12.CharacterSet));
outdata = myStreamReader12.ReadToEnd();
myHttpWebResponse12.Close();
myStreamReader12.Close();
myResponseStream12.Close();
程序出错,用http analyzer 抓我自己的程序,发现url变成了
http://www.qidian.com/BookReader/DivAuthorTipping.aspx?bookId=1321104&authorId=1648617&authorName=%25u71d5%25u5f52%25u6881
请各位大侠给指教。
http://www.qidian.com/BookReader/DivAuthorTipping.aspx?bookId=1321104&authorId=1648617&authorName=%u71d5%u5f52%u6881
我的代码如下
string myUri = "http://www.qidian.com/BookReader/DivAuthorTipping.aspx?bookId=1321104&authorId=1648617&authorName=%u71d5%u5f52%u6881";
HttpWebRequest myHttpWebRequest12 = (HttpWebRequest)WebRequest.Create(myUri);
if (IsNeedProxy)
myHttpWebRequest12.Proxy = proxy;
myHttpWebRequest12.Timeout = 500000;
myHttpWebRequest12.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-silverlight, */*";
myHttpWebRequest12.Referer = strUrl + strUser2;
myHttpWebRequest12.Headers.Add("Accept-Language", "zh-cn");
myHttpWebRequest12.Headers.Add("Accept-Encoding", "gzip, deflate"); //add by King Lao
myHttpWebRequest12.Headers.Add("Cache-Control", "no-cache");
myHttpWebRequest12.ContentType = "application/x-www-form-urlencoded ";
myHttpWebRequest12.ContentLength = indata1.Length;
myHttpWebRequest12.Method = "POST";
myHttpWebRequest12.CookieContainer = myCookieContainer;
myHttpWebRequest12.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; MAXTHON 2.0)";
Stream myRequestStream12 = myHttpWebRequest12.GetRequestStream();
StreamWriter myStreamWriter12 = new StreamWriter(myRequestStream12, Encoding.GetEncoding("gb2312"));
myStreamWriter12.Write(indata1);
myStreamWriter12.Close();
myRequestStream12.Close();
HttpWebResponse myHttpWebResponse12 = (HttpWebResponse)myHttpWebRequest12.GetResponse();
Stream myResponseStream12 = myHttpWebResponse12.GetResponseStream();
StreamReader myStreamReader12 = new StreamReader(myResponseStream12, Encoding.GetEncoding(myHttpWebResponse12.CharacterSet));
outdata = myStreamReader12.ReadToEnd();
myHttpWebResponse12.Close();
myStreamReader12.Close();
myResponseStream12.Close();
程序出错,用http analyzer 抓我自己的程序,发现url变成了
http://www.qidian.com/BookReader/DivAuthorTipping.aspx?bookId=1321104&authorId=1648617&authorName=%25u71d5%25u5f52%25u6881
请各位大侠给指教。
...全文
相关推荐
HttpWebRequest和HttpWebResponse用法小结
在每个系统出写入报告错误代码(找个合理的理由,比如系统免费升级) -> 自家服务器接收并处理错误报告 -> 反馈用户(解决掉BUG就行,不要太声扬)
HttpWebRequest的常见错误使用TcpClient可避免
有时使用HttpWebRequest对象会出现错误有三种服务器提交了协议冲突/基础连接已经关闭:连接被意外关闭/无法发送具有此谓词类型的内容正文,感兴趣的朋友可以参考下本
C#基于HttpWebRequest实现模拟登陆
平时用浏览器看网页的时候,点击一下submit按钮的时候其实就是给服务器发送了一个POST请求。但是如何在自己的C#程序里面实现类似的功能呢?本文给出具体的实现方法并详细说明其实现难点。
HttpRequest Get和Post调用其他页面的方法
HttpRequest Get和Post调用其他页面的方法,需要的朋友可以参考一下
C# 常用类大全
C#常用类大全 汇总整理各种工具类 最全的类库补充


