用WinInet API怎么提交一个EncType = "Multipart/Form-Data" 的form?

windbellflower 2004-01-16 02:04:50
我想用WinInet API:HttpOpenRequest,HttpSendRequest,提交一个form,比如:
<form method="POST" action="/post.cgi" enctype="multipart/form-data" name="post">
<input type="hidden" name="user" value="test">
<input type="hidden" name="key" value="2345">
<tr>
<td>主题</td>
<td colspan=4><input type=text size=84 name="subject" maxsize=40></td>
</tr>
<tr>
<td valign=top>内容:</td>
<td colspan=4><textarea name="body" cols=70 rows=10 wrap=soft></textarea></td>
</tr>
</form>
直接用api怎么写,是不是要先编码,谁有没有multipart/form-data编码函数?谢谢各位了!
...全文
156 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
phiger 2004-01-16
  • 打赏
  • 举报
回复
头格式:
CString strHeaders = "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*\r\n";
strHeaders += "Referer: http://...\r\n";
strHeaders += "Accept-Language: zh-cn\r\n";
strHeaders += "Content-Type: multipart/form-data; boundary=---------------------------7d41571c70984\r\n";
strHeaders += "Accept-Encoding: gzip, deflate\r\n";

然后内容格式是:
CString strContent = "-----------------------------7d41571c70984\r\n";
strContent += "Content-Disposition: form-data; name=\"element\""; --element为表单元素名
strContent += "\r\n";
strContent += "value"; --value为表单元素值
。。。
。。。
最后要加一行:
strContent += "-----------------------------7d41571c70984--\r\n";

HINTERNET hSession = InternetOpen("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705)", 0, NULL, NULL, 0);

HINTERNET hConnection = InternetConnect(hSession, strServer, 80,
NULL,NULL,INTERNET_SERVICE_HTTP, 0, 1);
hRequest = HttpOpenRequest(hConnection, "POST", strRequest, "HTTP/1.0", NULL, NULL, INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_RELOAD | INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_DONT_CACHE, 1);

bRet = HttpSendRequest(hRequest, strHeaders, lstrlen(strHeaders), (LPVOID)strContent, lstrlen(strContent);

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧