社区
C#
帖子详情
500分请教模拟WEB文件自动上传功能,答对可以分几次给。
christ2
2008-05-07 04:33:58
现在想在程序上实现在对某个WEB页面提交一组数据,其中包括文件上传。有点像爬虫,只不过爬虫是抓数据,而该程序是提交数据。
我现在还不知道能不能实现,如果不能,给个理由,本贴分数[100]全部提供。
...全文
118
16
打赏
收藏
500分请教模拟WEB文件自动上传功能,答对可以分几次给。
现在想在程序上实现在对某个WEB页面提交一组数据,其中包括文件上传。有点像爬虫,只不过爬虫是抓数据,而该程序是提交数据。 我现在还不知道能不能实现,如果不能,给个理由,本贴分数[100]全部提供。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
christ2
2008-05-13
打赏
举报
回复
没人回答出来,平分吧。
家鸣
2008-05-09
打赏
举报
回复
反编译UploadFile,看看它怎么生成request流
public byte[] UploadFile(string address, string method, string fileName)
{
string text1;
string text2;
WebRequest request1;
string text3;
byte[] buffer1;
byte[] buffer2;
long num1;
byte[] buffer3;
int num2;
WebResponse response1;
byte[] buffer4;
DateTime time1;
long num3;
string[] textArray1;
FileStream stream1 = null;
try
{
fileName = Path.GetFullPath(fileName);
time1 = DateTime.Now;
num3 = time1.Ticks;
text1 = "---------------------" + num3.ToString("x");
if (this.m_headers == null)
{
this.m_headers = new WebHeaderCollection();
}
text2 = this.m_headers["Content-Type"];
if (text2 != null)
{
if (text2.ToLower(CultureInfo.InvariantCulture).StartsWith("multipart/"))
{
throw new WebException(SR.GetString("net_webclient_Multipart"));
}
}
else
{
text2 = "application/octet-stream";
}
this.m_headers["Content-Type"] = "multipart/form-data; boundary=" + text1;
this.m_responseHeaders = null;
stream1 = new FileStream(fileName, FileMode.Open, FileAccess.Read);
request1 = WebRequest.Create(this.GetUri(address));
request1.Credentials = this.Credentials;
this.CopyHeadersTo(request1);
request1.Method = method;
textArray1 = new string[7];
textArray1[0] = "--";
textArray1[1] = text1;
textArray1[2] = "\r\nContent-Disposition: form-data; name=\"file\"; filename=\"";
textArray1[3] = Path.GetFileName(fileName);
textArray1[4] = "\"\r\nContent-Type: ";
textArray1[5] = text2;
textArray1[6] = "\r\n\r\n";
text3 = string.Concat(textArray1);
buffer1 = Encoding.UTF8.GetBytes(text3);
buffer2 = Encoding.ASCII.GetBytes("\r\n--" + text1 + "\r\n");
num1 = 9223372036854775807;
try
{
num1 = stream1.Length;
request1.ContentLength = ((num1 + ((long) buffer1.Length)) + ((long) buffer2.Length));
}
catch
{
}
buffer3 = new byte[Math.Min(((int) 8192), ((int) num1))];
using (Stream stream2 = request1.GetRequestStream())
{
stream2.Write(buffer1, 0, buffer1.Length);
do
{
num2 = stream1.Read(buffer3, 0, buffer3.Length);
if (num2 != 0)
{
stream2.Write(buffer3, 0, num2);
}
}
while ((num2 != 0));
stream2.Write(buffer2, 0, buffer2.Length);
}
stream1.Close();
stream1 = null;
response1 = request1.GetResponse();
this.m_responseHeaders = response1.Headers;
return this.ResponseAsBytes(response1);
}
catch (Exception exception1)
{
if (stream1 != null)
{
stream1.Close();
stream1 = null;
}
if ((exception1 is WebException) || (exception1 is SecurityException))
{
throw;
}
throw new WebException(SR.GetString("net_webclient"), exception1);
}
return buffer4;
}
lfhlyx
2008-05-09
打赏
举报
回复
什么嘛?提交数据?文件上传?
wuxiaoqqqq
2008-05-09
打赏
举报
回复
还是没看懂你要干什么。
huaer1011
2008-05-09
打赏
举报
回复
关注ing
smallfz
2008-05-09
打赏
举报
回复
lz要做个啥玩艺?垃圾发布机器人?
christ2
2008-05-09
打赏
举报
回复
登陆我是知道拉,主要想知道怎么上传文件?
优途科技
2008-05-07
打赏
举报
回复
忘了顶你了!
优途科技
2008-05-07
打赏
举报
回复
搬板凳学习!
leo5381544
2008-05-07
打赏
举报
回复
前两天看过篇关于模拟登录的文章,可惜找不到地址了(还好当时把示例代码下载了)
如果你需要email给我 leo.sun.jie@msn.com
leo5381544
2008-05-07
打赏
举报
回复
[Quote=引用 4 楼 dk385 的回复:]
先用http抓包工具(如HTTPDebuger)看下正常提交页面时Post了那些数据,然后程序再根据这些数据的格式来构建请求,再Post过去。
[/Quote]
接着说, 一般post数据都需要登录, 在post数据前,先需要程序模拟登录.
christ2
2008-05-07
打赏
举报
回复
关键是文件数据怎么搞?走人,明天过来继续看。
家鸣
2008-05-07
打赏
举报
回复
先用http抓包工具(如HTTPDebuger)看下正常提交页面时Post了那些数据,然后程序再根据这些数据的格式来构建请求,再Post过去。
christ2
2008-05-07
打赏
举报
回复
就是比如说我要在淘宝上架一个商品,我想用程序实现该如何?
gen06
2008-05-07
打赏
举报
回复
System.Net.WebClient wc = new System.Net.WebClient();
wc.UploadFile(address, filename);
cctaiyang
2008-05-07
打赏
举报
回复
问题描述的不够详细。
软件测试的未来:AI大模型与
自动
化测试的完美融合
在当今数字化时代,软件无处不在,从我们每天使用的手机应用到大型企业级系统,软件的质量直接影响着人们的生活和企业的运营。软件测试作为保证软件质量的重要手段,其重要性不言而喻。随着技术的不断发展,传统的软件测试方法面临着越来越多的挑战,如测试效率低、测试覆盖不全面等。而AI大模型和
自动
化测试的出现为解决这些问题提供了新的思路和方法。本文的目的就是探讨AI大模型与
自动
化测试的完美融合,为软件测试领域的发展提供新的方向和参考。
探索DeFi元宇宙:NFT、
Web
3和DAPP的数藏Swap
事情是这样的,去年10月的时候,华为的一个OD在BOSS上找到了我,当时也刚放弃考研,正在找工作,了。大家面试手子都是面完当天就约面吗?今二面,面的时长很短,不知道是不是kpi,自己答的也一般,面试官也。一面是个和善的面试官,看我不会CSS就不继续问了,问了不少八股,JS、网络、操作系统,最后写了个公共。23应届生,本科985,前端阿里妈妈,n*16,p4+海外在线教育(公司初期阶段),(n+6)*14。今天下午面的两家公司,代码都没写出来,心好累,想去的公司估计去不了了,晚上的面试都不想面了,心态爆炸。
彻底弄懂 Http 缓存机制 - 基于缓存策略三要素
分
解法
导语 Http缓存机制作为
web
性能优化的重要手段,对从事
Web
开发的小伙伴们来说是必须要掌握的知识,但最近我遇到了几个缓存头设置相关的题目,发现有好几道题答错了,有的甚至在知道了正确答案后依然不明白其原因,可谓相当的郁闷呢!!为了确认下是否只是自己理解不深,我特意
请教
了其他几位小伙伴,发现情况也或多或少和我类似。 为了不给大家卖关子,下面我贴出2道题,大家可以尝试解答下: 以下
驴老师播客笔记(二十)
好大家好,今天呵呵,有个小伙伴私信问我这个什么TH与SU对吧。青少年创新创业什么
模拟
峰会是个什么玩意。首先啊我也可以跟你们讲一下,你们呢根据我今天这个视频呢,你们也可以了解一下对吧,我是怎么去了解一个东西的啊。反正很简单,我从头到尾大概花了40
分
钟吧,对不对,而且还是我一边打游戏一边看的啊。哼你们也可以看一下我是怎么来看这个东西的,首先啊下一期活动已经定了,9月21号就本周六好吧,下午的一点到六点在杭州啊,在杭州,那么本期开始呢定了几个新的主题,一个呢是我会跟大家
分
享一下。
彻底弄懂 HTTP 缓存机制 —— 基于缓存策略三要素
分
解法
导语 HTTP 缓存机制作为
Web
性能优化的重要手段,对从事
Web
开发的小伙伴们来说是必须要掌握的知识,但最近我遇到了几个缓存头设置相关的题目,发现有好几道题答错了,有的甚至在知道了正确答案后依然不明白其原因,可谓相当的郁闷呢!!为了确认下是否只是自己理解不深,我特意
请教
了其他几位小伙伴,发现情况也或多或少和我类似。 为了不给大家卖关子,下面我贴出2道题,大家可以尝试解答下:
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章