http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 6620|回复: 8

[HttpHelper] 关于POST图片到空间

[复制链接]
发表于 2014-7-29 12:31:11 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 speed2018 于 2014-7-29 12:43 编辑

为什么总是提示未将对象设置到实例,是哪里有问题你呢?

cookie 很简单,不会有问题。
下面是代码:
#region
            //头部
            string boundary = "----------cH2Ef1Ij5Ij5gL6GI3ei4Ij5Ef1gL6";
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("--" + boundary);
           sb.AppendLine("Content-Disposition: form-data; name=\"Filename\"; \r\n\r\n1234a.jpg");
            sb.AppendLine("--" + boundary);
            sb.AppendLine("Content-Disposition: form-data; name=\"Filedata\"; filename=\"1234a.jpg\"");
            sb.AppendLine("Content-Type: application/octet-stream");
            sb.AppendLine("");
            string postHeader = sb.ToString();
            byte[] postHeaderBytes = Encoding.UTF8.GetBytes(postHeader);
            //图片数据
            byte[] picBytes = imageToByteArray("G:\\tmp\\1234a.jpg");
            //尾部数据
            string weibu = "----------cH2Ef1Ij5Ij5gL6GI3ei4Ij5Ef1gL6\r\nform-data; name=\"Upload\"\r\n\r\n5\r\n------------cH2Ef1Ij5Ij5gL6GI3ei4Ij5Ef1gL6--";
            byte[] boundaryBytes = Encoding.ASCII.GetBytes(weibu);
            //postdatebyte
            byte[] all = new byte[postHeader.Length + picBytes.Length + boundaryBytes.Length];
            postHeaderBytes.CopyTo(all, 0);
            picBytes.CopyTo(all, postHeaderBytes.Length);
            boundaryBytes.CopyTo(all, postHeader.Length + picBytes.Length);
            //上传图片
            HttpItem itemBSpic = new HttpItem()
            {
                URL = "http://www.tx8.cn/upload_flash.asp?id=12&sort_id=-1&rename=2&override=1 ",
                Method = "post",
                CookieCollection = cc,
                ContentType = "multipart/form-data; boundary=" + boundary,
                PostDataType = PostDataType.Byte,
                PostdataByte = all,
                ResultCookieType = ResultCookieType.CookieCollection
            };
            HttpHelper helperBSpic = new HttpHelper();
            HttpResult resultBSpic = helperBSpic.GetHtml(itemBSpic);
            html = resultBSpic.Html;
            MessageBox.Show(html);
            #endregion


//------------------------------------------------抓包信息,中间字节流乱码省略
POST http://www.tx8.cn/upload_flash.asp?id=12&sort_id=-1&rename=2&override=1 HTTP/1.1
Accept: text/*
Content-Type: multipart/form-data; boundary=----------cH2Ef1Ij5Ij5gL6GI3ei4Ij5Ef1gL6
User-Agent: Shockwave Flash
Host: www.tx8.cn
Content-Length: 26504
DNT: 1
Connection: Keep-Alive
Pragma: no-cache
Cookie: ASPSESSIONIDSADQBCQR=JGLJNBMCONNKNGOKGBOFDEEN; username=
------------cH2Ef1Ij5Ij5gL6GI3ei4Ij5Ef1gL6
Content-Disposition: form-data; name="Filename"
1234.jpg
------------cH2Ef1Ij5Ij5gL6GI3ei4Ij5Ef1gL6
Content-Disposition: form-data; name="Filedata"; filename="1234.jpg"
Content-Type: application/octet-stream
//乱码区
------------cH2Ef1Ij5Ij5gL6GI3ei4Ij5Ef1gL6
Content-Disposition: form-data; name="Upload"
Submit Query
------------cH2Ef1Ij5Ij5gL6GI3ei4Ij5Ef1gL6--






1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-7-29 12:39:21 | 显示全部楼层
参数或者是Cookie不对。
回复

使用道具 举报

 楼主| 发表于 2014-7-29 12:44:20 | 显示全部楼层
站长苏飞 发表于 2014-7-29 12:39
参数或者是Cookie不对。

cookie应该没有问题的,我特意检查过,参数不知道是哪里不对
回复

使用道具 举报

发表于 2014-7-29 12:46:00 | 显示全部楼层
speed2018 发表于 2014-7-29 12:44
cookie应该没有问题的,我特意检查过,参数不知道是哪里不对

不要那么确认,直接从浏览器拿个还的Cookie放进去试试
回复

使用道具 举报

 楼主| 发表于 2014-7-29 12:50:40 | 显示全部楼层
站长苏飞 发表于 2014-7-29 12:46
不要那么确认,直接从浏览器拿个还的Cookie放进去试试

这个只有两个cookie,我从cookiecollection里取出来看过
回复

使用道具 举报

发表于 2014-7-29 12:52:22 | 显示全部楼层
speed2018 发表于 2014-7-29 12:50
这个只有两个cookie,我从cookiecollection里取出来看过

集合的不行就用字符串的,所在浏览器复制一个看看是否正常,如果正常肯定是Cookie问题了
回复

使用道具 举报

 楼主| 发表于 2014-7-29 13:02:36 | 显示全部楼层
站长苏飞 发表于 2014-7-29 12:52
集合的不行就用字符串的,所在浏览器复制一个看看是否正常,如果正常肯定是Cookie问题了

用浏览器的cookie也是试过,一直提示未将对象引用设置到对象的实例,一直提示这个错误
回复

使用道具 举报

发表于 2014-7-29 13:37:09 | 显示全部楼层
speed2018 发表于 2014-7-29 13:02
用浏览器的cookie也是试过,一直提示未将对象引用设置到对象的实例,一直提示这个错误

http://www.sufeinet.com/thread-9495-1-1.html
回复

使用道具 举报

发表于 2014-7-31 00:00:12 | 显示全部楼层
\r\n\r\n1234a.jpg\r\n
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-24 14:22

© 2014-2021

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