TC官方合作论坛
标题:
微信 网页版本post 发图 ?
[打印本页]
作者:
jushunhe
时间:
2016-10-16 02:00
标题:
微信 网页版本post 发图 ?
本帖最后由 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
}
post头.txt
2016-10-16 02:00 上传
点击文件名下载附件
1.11 KB, 下载次数: 503
post尾.txt
2016-10-16 02:00 上传
点击文件名下载附件
42 Bytes, 下载次数: 465
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1