aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 17091|回复: 7

请问 Content-Type: multipart/form-data 这种表单数据怎么提交?

[复制链接]

17

主题

33

回帖

437

积分

二级会员

积分
437
发表于 2017-10-17 04:15:30 | 显示全部楼层 |阅读模式
测试网站:https://oa.tongda2000.com/       》菜单》个人事务》电子邮件》写文件

POST /general/email/new/submit.php HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://27.155.97.40:88/general/email/new/
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (MSIE 9.0; qdesk 2.4.1274.203; Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Content-Type: multipart/form-data; boundary=---------------------------7e19a243307d0
Accept-Encoding: gzip, deflate
Host: 27.155.97.40:88
Content-Length: 106523
Connection: Keep-Alive
Pragma: no-cache
Cookie: *******


QQ截图20171017041530.png


27

主题

88

回帖

787

积分

三级会员

积分
787
发表于 2017-10-17 06:57:06 | 显示全部楼层
  1.                         import web.multipartFormData
  2.                        
  3.                                 var formPic = ..web.multipartFormData()
  4.                                 formPic.add("Filename",file.name)
  5.                                 formPic.add("uid",database["uid"])
  6.                                 formPic.add("hash",database["hash"])
  7.                                 formPic.add("filetype",file.ext)
  8.                                 formPic.add("Upload","Submit Query")
  9.                                
复制代码
参照这样的格式就行了

27

主题

88

回帖

787

积分

三级会员

积分
787
发表于 2017-10-17 06:57:52 | 显示全部楼层
本帖最后由 以利亚先生丶 于 2017-10-17 06:58 编辑
  1. import web.multipartFormData
  2. var formPic = ..web.multipartFormData()
  3. formPic.add("Filename",file.name)
  4. var header = ..web.joinHeaders({
  5.                                 ["X-Requested-With"]="ShockwaveFlash/25.0.0.127";
  6.                                 ["Content-Type:"]=formPic.contentType();
  7.                         })
复制代码

17

主题

33

回帖

437

积分

二级会员

积分
437
 楼主| 发表于 2017-10-17 13:00:55 | 显示全部楼层

谢谢

  1. import web.multipartFormData
  2. var form = web.multipartFormData();
  3. form.add("TO_ID","2091");
  4. form.add("TO_NAME","name");
  5. form.add("SUBJECT","ztzt");
  6. form.add("TD_HTML_EDITOR_CONTENTE","<p>nlnl</p>")
  7. var header = web.joinHeaders({
  8.         ["Referer:"] = "http://ip/general/email/new/";
  9.         ["Content-Type:"] = form.contentType();
  10. });

  11. html = http.post(pUrl,form.readAll(),header);
  12. console.log(html)
复制代码


没有成功哦,不知道问题出在哪里了

170

主题

2169

回帖

1万

积分

管理员

积分
13161
发表于 2017-10-17 13:24:04 | 显示全部楼层

方法你都知道了,打开浏览器写邮件,按F12抓包比对一下参数不就可以了吗?!

自己都不知道问题在哪里,这种真不知道应该怎么回复你,
只能自己去写个直接能用的给你:
import console;
import web.multipartFormData;
import inet.http;
import string.html;

var formData = web.multipartFormData();
formData.add(
"TO_ID","912");
formData.add(
"TO_NAME","王征");
formData.add(
"SUBJECT","测试邮件标题");
formData.add(
"SEND_FLAG","1");
formData.add(
"SMS_REMIND","on");
formData.add(
"FROM_WEBMAIL","abc@263.net");

formData.add(
"TD_HTML_EDITOR_CONTENTE","<p>nlnl</p>")
var header = {
        [
"Referer:"] = "https://oa.tongda2000.com/general/email/new/";
        [
"Content-Type:"] = formData.contentType();
};

var http = inet.http();
http.post(
"https://oa.tongda2000.com/logincheck.php","UNAME=lijia&PASSWORD&encode_type=1");
var html = http.post("https://oa.tongda2000.com/general/email/new/submit.php",formData.readAll(),header);

console.log( string.html.toText(html) );
console.pause(
true);



17

主题

33

回帖

437

积分

二级会员

积分
437
 楼主| 发表于 2017-10-17 13:35:21 | 显示全部楼层
Jacen.He 发表于 2017-10-17 13:24
方法你都知道了,打开浏览器写邮件,按F12抓包比对一下参数不就可以了吗?!

自己都不知道问题在哪里 ...

谢谢,可以了

170

主题

2169

回帖

1万

积分

管理员

积分
13161
发表于 2017-10-17 15:03:12 | 显示全部楼层

这个网站提交中文会乱码,我刚改进了一下,用新版没问题。

可以用 web.rest.client 替换 inet.http,web.rest.client 可以自动识别网站是不是UTF8编码。另外还提供一个sendMultipartForm函数封装了web.multipartFormData,并且可以查看上传进度。
import console;
import web.rest.client;
import string.html;

var http = web.rest.client();
http.api(
"https://oa.tongda2000.com/logincheck.php").post(
     UNAME=
"lijia";
     encode_type=1;
);

http.sendMultipartForm( {
        TO_ID =
"912";
        TO_NAME =
"王征";
        SUBJECT =
"测试邮件标题!";
        SEND_FLAG = 1;
        SMS_REMIND =
"on";
        FROM_WEBMAIL =
"abc@263.net";
        TD_HTML_EDITOR_CONTENT=
/*测试邮件内容*/
    }
    ,
function(str,sendSize,contentLength){
        console.log(
"正在向服务器提交数据",math.size64(sendSize).format() );
    }
);

var html = http.api("https://oa.tongda2000.com/general/email/new/submit.php").post()
console.log( string.html.toText(html) );
console.pause(
true);

17

主题

33

回帖

437

积分

二级会员

积分
437
 楼主| 发表于 2017-10-17 17:12:46 | 显示全部楼层
Jacen.He 发表于 2017-10-17 15:03
这个网站提交中文会乱码,我刚改进了一下,用新版没问题。

可以用 web.rest.client 替换 inet.http,w ...

太好了 谢谢
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2024-9-15 20:18 , Processed in 0.063062 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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