社区
C#
帖子详情
500分请教模拟WEB文件自动上传功能,答对可以分几次给。
christ2
2008-05-07 04:33:58
现在想在程序上实现在对某个WEB页面提交一组数据,其中包括文件上传。有点像爬虫,只不过爬虫是抓数据,而该程序是提交数据。
我现在还不知道能不能实现,如果不能,给个理由,本贴分数[100]全部提供。
...全文
138
16
打赏
收藏
500分请教模拟WEB文件自动上传功能,答对可以分几次给。
现在想在程序上实现在对某个WEB页面提交一组数据,其中包括文件上传。有点像爬虫,只不过爬虫是抓数据,而该程序是提交数据。 我现在还不知道能不能实现,如果不能,给个理由,本贴分数[100]全部提供。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
问题描述的不够详细。
Git-RSCLIP模型压缩:从3B参数到
500
M的优化之路
本文介绍面向遥感图像跨模态理解的Git-RSCLIP模型压缩方法,通过结构化剪枝、知识蒸馏和量化感知训练三步协同优化,将3B参数模型压缩至482MB(降幅85%),精度仅下降2个百
分
点。关键技术包括通道级重要性剪枝、多层特征蒸馏、对称量化与嵌入层混合精度处理,并适配Jetson/TensorRT、ONNX Runtime及
Web
端部署。全过程基于PyTorch与开源工具链,支撑边缘端实时推理。
AI辅助开发实战:如何为Chatbot实现高效内容添加
功能
本文聚焦于AI辅助开发中Chatbot动态内容添加
功能
的工程实践,涵盖混合智能方案选型(规则引擎+NLP)、基于Flask与spaCy的内容管理API实现、Redis缓存与关键词首筛带来的性能优化(QPS提升16倍+)、XSS防护与会话状态持久化等安全要点,以及知识冲突检测与版本化治理等开放性问题,强调智能化工具赋能高效、安全、可维护的知识注入。
SpringBoot+微信小程序 优选驾考+平台完整项目源码+SQL脚本+接口文档【Java
Web
毕设】
直接拿走,意外获得200多套代码,需要的滴我SpringBoot+微信小程序 优选驾考+平台完整项目源码+SQL脚本+接口文档【Java
Web
毕设】(可提供说明文档(通过*AIGC*)
前端面试题3
本文深入解析HTTP协议的工作原理及其在
Web
开发中的角色,同时详细阐述RESTful API的设计理念,包括GET、POST、PUT、DELETE等方法的使用场景。此外,还介绍了HTTP状态码、常用抓包工具及前后端接口调试流程。
基于SpringBoot的高校HIV预防宣传系统计算机毕业设计项目
本文介绍了基于SpringBoot的高校HIV预防宣传系统,涵盖科普教育、风险评估、匿名咨询等
功能
模块。系统采用SpringBoot+Vue架构,结合MySQL和Redis技术,注重隐私保护与交互体验,旨在提高学生防治意识。
C#
111,131
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章