使用HttpWebRequest 的post方法传递参数,但抓包抓不到信息

Laura2333 2016-09-20 08:00:40
我想使用使用HttpWebRequest 的post方法模拟登陆一个网页

byte[] bs = Encoding.UTF8.GetBytes(loginData);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(loginUrl);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = bs.Length;
webRequest.ServicePoint.Expect100Continue = false;
webRequest.KeepAlive = false;
webRequest.Timeout = 3000;
webRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36";
Stream reqStream = webRequest.GetRequestStream();
reqStream.Write(bs, 0, bs.Length);
reqStream.Close();
WebResponse WebResponse = webRequest.GetResponse();
StreamReader reader = new StreamReader(WebResponse .GetResponseStream(), Encoding.Default);
string content = reader.ReadToEnd();
Console.Write(content);
WebResponse.Close();


但是抓到的包里没有我想要传递的信息

但是用正常浏览器登陆就有。是怎么回事啊

...全文
605 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
泡泡龙 2016-09-22
  • 打赏
  • 举报
回复
用fiddler抓包
Laura2333 2016-09-21
  • 打赏
  • 举报
回复
引用 4 楼 Poopaye的回复:
2张图是通一个软件吗?下面的都没\r\n
是同一个。。只不过下面的是传递的参数没有\r\n
Laura2333 2016-09-21
  • 打赏
  • 举报
回复
引用 3 楼 岁月落寞忆流年的回复:
HttpWebRequest request; request = (HttpWebRequest)WebRequest.Create(strURL); request.Method = method; request.ContentType = "application/json;charset=UTF-8"; string paraUrlCoded = param; if (!string.IsNullOrEmpty(param)) { byte[] payload; payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded); request.ContentLength = payload.Length; writer = request.GetRequestStream(); writer.Write(payload, 0, payload.Length); writer.Close(); } HttpWebResponse response; response = (HttpWebResponse)request.GetResponse(); System.IO.Stream s = response.GetResponseStream(); string StrDate = ""; string strValue = ""; StreamReader Reader = new StreamReader(s, Encoding.UTF8); while ((StrDate = Reader.ReadLine()) != null) { strValue += StrDate + "\r\n"; } return strValue; 你试试看这样行不行,另外问一下,你用的什么抓包工具啊
还是不行,用的是wireshark
Poopaye 2016-09-20
  • 打赏
  • 举报
回复
2张图是通一个软件吗?下面的都没\r\n
  • 打赏
  • 举报
回复
HttpWebRequest request; request = (HttpWebRequest)WebRequest.Create(strURL); request.Method = method; request.ContentType = "application/json;charset=UTF-8"; string paraUrlCoded = param; if (!string.IsNullOrEmpty(param)) { byte[] payload; payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded); request.ContentLength = payload.Length; writer = request.GetRequestStream(); writer.Write(payload, 0, payload.Length); writer.Close(); } HttpWebResponse response; response = (HttpWebResponse)request.GetResponse(); System.IO.Stream s = response.GetResponseStream(); string StrDate = ""; string strValue = ""; StreamReader Reader = new StreamReader(s, Encoding.UTF8); while ((StrDate = Reader.ReadLine()) != null) { strValue += StrDate + "\r\n"; } return strValue; 你试试看这样行不行,另外问一下,你用的什么抓包工具啊
Laura2333 2016-09-20
  • 打赏
  • 举报
回复
引用 1 楼 Poopaye的回复:
长度29,数据呢?
数据不知道去哪了。。。
Poopaye 2016-09-20
  • 打赏
  • 举报
回复
长度29,数据呢?

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧