|
马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 jushunhe 于 2016-10-16 02:05 编辑
- var http = com("WinHttp.WinHttpRequest.5.1")
- http.Open("POST", "https://file." & wx & ".qq.com/cgi-bin/mmwebwx-bin/webwxuploadmedia?f=json", false)
- http.SetRequestHeader("Content-Type", "multipart/form-data; boundary=----webuploaderboundary1476365142785")
- //另外,XMLHTTP对象是不支持Referer头的设置的,请TC官方修正.
- http.SetRequestHeader("Referer", "https://wx.qq.com/zh_CN/htmledition/v2/third_**/webuploader-0.1.5/Uploader.swf")
- var Data1, Data2, ImgData
- //直接从文件读图片数据
- var ImgSize = FileToByteArray(img路径, ImgData)
- traceprint(ImgSize)
- //从文件读出字符串,然后再转换,把头尾放到文件里
- var data = 文件读取内容(获取资源路径("rc:post头.txt"))
- var clientmsgid = 时间_取现行时间戳(13) & 字符串取随机数字(4)
- var 路径分割
- var len = strsplit(img路径, "\", 路径分割)
- var Name = 路径分割[len - 1]
- var imagetype = 字符串截取右侧(Name, 3)
- var Size = ImgSize
- var totalLen = ImgSize
- var Webwx_data_ticket = webwx_data_ticket
- var Pass_ticket = url解码(pass_ticket)
- var Filename = Name
- var MD5 = filemd5(img路径)
- var Uploadmediarequest = 字符串格式化("{"UploadType":2,"BaseRequest":{"Uin":%s,"Sid":"%s","Skey":"%s","DeviceID":"%s"},"ClientMediaId":%s,"TotalLen":%s,"StartPos":0,"DataLen":%s,"MediaType":4,"FromUserName":"%s","ToUserName":"%s","FileMd5":"%s"}", uin, sid, skey, did, clientmsgid, totalLen, totalLen, username, toUserName, MD5)
- data = 字符串替换(data, "{Name}", Name)
- data = 字符串替换(data, "{Type}", imagetype)
- data = 字符串替换(data, "{Size}", Size)
- data = 字符串替换(data, "{Uploadmediarequest}", Uploadmediarequest)
- data = 字符串替换(data, "{Webwx_data_ticket}", Webwx_data_ticket)
- data = 字符串替换(data, "{Pass_ticket}", Pass_ticket)
- data = 字符串替换(data, "{Filename}", Filename)
- //
- 文件覆盖内容(sysgetprocesspath() & "data.txt", data)
- //charset不要写错.否则数据组合起来就是一堆乱码.
- traceprint(StringToByteArray(data, Data1, "GB2312"))
- var size = FileToByteArray(获取资源路径("rc:post尾.txt"), Data2)
- traceprint(size)
- ByteArrayCat(Data1, ImgData)//把两data组合
- 变量 Size1 = ByteArrayCat(Data1, Data2)//把两data组合 217063-217058=+5
- http.setRequestHeader("Content-Length", Size1)
- traceprint(Size1)
- http.Send(Data1)
- //
- 调试输出(http.Resp**eText)
复制代码 找大神求解决,这一段 老是获取不正确?
求微信post 发图方法!!!!
正确的返回 应该是
{
"BaseResp**e": {
"Ret": 0,
"ErrMsg": ""
}
,
"MediaId": "@crypt_90f4f2a_0af436b0f70c7376a3940275eaf8e6dc34c48eddcbf42d8ad395b7cde395f976dc3e229b4bca2c46ea4f3908c487883c8f0ff972347df98eebb6e88b3e481a07ff6d769e9f98e64732ce95d38c7a09e10c25483e0d1bbc1d2b7ad4fc91e3af2463b61fa10d3a4dfc7787bba33592f569f435d77e27acdafdca2ec0847a913322a811a76452bfb7da93d23939284571d18ccc1eb3d80e3d05b8937294eb8d4e3897fc33ab1cd8a5c5012fe0d413df3280d2c0a921f37ddb67864b168ccca5822fe6faa8d59f7046d3ab0e87257cced2821f1431e9320f7f93a91f2010a2ea94a4cb30c4b5f7b436d1273814c9709609ae183233645f590dd790ec0a464cf1556b142a745bbf476067fe5b6714052073a8f4568abc2c27c2090761df18257746da5291d16d4e7c414f908dff819936a0f59bc2c81511444eacd4493a5666d2b3746c47a6492aa75292026999e6906161f8b9dac4ec72bff4902524682889703286",
"StartPos": 697114,
"CDNThumbImgHeight": 89,
"CDNThumbImgWidth": 100
}
|
|