苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.3-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 397|回复: 0

[HttpHelper] 关于表单提交图片的问题,返回504

[复制链接]
发表于 2020-12-17 23:21:30 | 显示全部楼层 |阅读模式

            HttpItem item = new HttpItem()
            {
                URL = WebInfo.UploadUrl, //URL     必需项
                Encoding = Encoding.UTF8, //编码格式(utf-8,gb2312,gbk)     可选项 默认类会自动识别
                PostEncoding = Encoding.UTF8,
                Method = "post", //URL     可选项 默认为Get
                IsToLower = false, //得到的HTML代码是否转成小写     可选项默认转小写
                Cookie = $"{WebInfo.loginInfo.data.token};sidebarStatus=0", //字符串Cookie     可选项
                UserAgent =
                    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
                Accept = "application/json, text/plain, */*",
                ContentType = "multipart/form-data; boundary=----WebKitFormBoundary79HpdlA1IVWZnKxx",
                Connectionlimit = 1024,
                PostDataType = PostDataType.Byte,
                ResultType = ResultType.String,
            };

第一种方案:改了下源码 循环提交
            byte[] boundaryBytes = Encoding.UTF8.GetBytes("----WebKitFormBoundary79HpdlA1IVWZnKxx\r\n");
            byte[] postHeaderBytes = Encoding.UTF8.GetBytes("Content-Disposition: form-data; name=\"file\"; filename=\"image.png\"\r\n");
            byte[] postHeaderBytes1 = Encoding.UTF8.GetBytes("Content-Type: image/png\r\n");
            byte[] postHeaderBytes2 = Encoding.UTF8.GetBytes("Content-Disposition: form-data; name=\"type\"\r\n");
            byte[] typeBytes = Encoding.UTF8.GetBytes(type);

            item.PostdataByte = new[]
            {
                boundaryBytes, postHeaderBytes, postHeaderBytes1, imgBase64Bytes, boundaryBytes, postHeaderBytes2, typeBytes,
                boundaryBytes
            };

第二种:拼接字符串

            ////            string body = $@"----WebKitFormBoundary79HpdlA1IVWZnKxx
            ////Content-Disposition: form-data; name=""file""; filename=""image.png""
            ////Content-Type: image/png

            ////{ImageHelper.ImgToBase64(img)}
            ////----WebKitFormBoundary79HpdlA1IVWZnKxx
            ////Content-Disposition: form-data; name=""type""

            ////{type}
            ////----WebKitFormBoundary79HpdlA1IVWZnKxx";

            //            string body = $@"{{
            //    file: ""{ImageHelper.ImgToBase64(img)}"",
            //    type:""{type}""
            //}}";

            //item.Postdata = body;

登陆都可以,但是提交图片就不行,求教怎么办?
找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备17001017号-1)

GMT+8, 2021-1-16 04:45

© 2014-2021

快速回复 返回顶部 返回列表