首页 新闻 会员 周边 捐助

c# 在客户端模拟Transfer-Encoding: chunked 发送数据包

0
悬赏园豆:50 [已解决问题] 解决于 2019-08-06 17:17

我的主函数
static void Main(string[] args)
{
string at = "uname=admin&passwd=admin";
Post("http://127.0.0.1/sqli/Less-11/", at);
}

这是post 请求方法
/// <summary>
/// 指定Post地址使用Get 方式获取全部字符串
/// </summary>
/// <param name="url">请求后台地址</param>
/// <param name="content">Post提交数据内容(utf-8编码的)</param>
/// <returns></returns>
public static string Post(string url, string content)
{
string result = "";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.SendChunked = true;
req.TransferEncoding = "";
req.Proxy = null;

        #region 添加Post 参数
        byte[] data = Encoding.UTF8.GetBytes(content);
        req.ContentLength = data.Length;
        using (Stream reqStream = req.GetRequestStream())
        {
            reqStream.Write(data, 0, data.Length);
            reqStream.Close();
        }
        #endregion

        HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
        Stream stream = resp.GetResponseStream();
        Stream stream1 = resp.GetResponseStream();
        //获取响应内容
        using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
        {
            result = reader.ReadToEnd();
        }
        return result;
    }

我直接运行利用wireshark 抓包

发现他并不是真的分块 或者说 我想要这样的形式

3
xxx
2
xx
0

而不是只有一条 在代码上我该怎么实现呢

紅人的主页 紅人 | 初学一级 | 园豆:117
提问于:2019-08-04 16:21
< >
分享
最佳答案
0

socket

紅人 | 初学一级 |园豆:117 | 2019-08-06 17:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册