TC官方合作论坛

 找回密码
 立即注册
查看: 1648|回复: 0

[问题] 微信 网页版本post 发图 ?

[复制链接]
发表于 2016-10-16 02:00:50 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 jushunhe 于 2016-10-16 02:05 编辑
  1. var http = com("WinHttp.WinHttpRequest.5.1")
  2.     http.Open("POST", "https://file." & wx & ".qq.com/cgi-bin/mmwebwx-bin/webwxuploadmedia?f=json", false)
  3.     http.SetRequestHeader("Content-Type", "multipart/form-data; boundary=----webuploaderboundary1476365142785")
  4.     //另外,XMLHTTP对象是不支持Referer头的设置的,请TC官方修正.
  5.     http.SetRequestHeader("Referer", "https://wx.qq.com/zh_CN/htmledition/v2/third_**/webuploader-0.1.5/Uploader.swf")
  6.     var Data1, Data2, ImgData
  7.     //直接从文件读图片数据
  8.     var ImgSize = FileToByteArray(img路径, ImgData)
  9.     traceprint(ImgSize)
  10.     //从文件读出字符串,然后再转换,把头尾放到文件里
  11.     var data = 文件读取内容(获取资源路径("rc:post头.txt"))
  12.     var clientmsgid = 时间_取现行时间戳(13) & 字符串取随机数字(4)
  13.     var 路径分割
  14.     var len = strsplit(img路径, "\", 路径分割)
  15.     var Name = 路径分割[len - 1]
  16.     var imagetype = 字符串截取右侧(Name, 3)
  17.     var Size = ImgSize
  18.     var totalLen = ImgSize
  19.     var Webwx_data_ticket = webwx_data_ticket
  20.     var Pass_ticket = url解码(pass_ticket)
  21.     var Filename = Name
  22.     var MD5 = filemd5(img路径)
  23.     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)
  24.     data = 字符串替换(data, "{Name}", Name)
  25.     data = 字符串替换(data, "{Type}", imagetype)
  26.     data = 字符串替换(data, "{Size}", Size)
  27.     data = 字符串替换(data, "{Uploadmediarequest}", Uploadmediarequest)
  28.     data = 字符串替换(data, "{Webwx_data_ticket}", Webwx_data_ticket)   
  29.     data = 字符串替换(data, "{Pass_ticket}", Pass_ticket)
  30.     data = 字符串替换(data, "{Filename}", Filename)
  31.     //
  32.     文件覆盖内容(sysgetprocesspath() & "data.txt", data)
  33.     //charset不要写错.否则数据组合起来就是一堆乱码.
  34.     traceprint(StringToByteArray(data, Data1, "GB2312"))
  35.     var size = FileToByteArray(获取资源路径("rc:post尾.txt"), Data2)
  36.     traceprint(size)
  37.     ByteArrayCat(Data1, ImgData)//把两data组合
  38.     变量 Size1 = ByteArrayCat(Data1, Data2)//把两data组合  217063-217058=+5
  39.     http.setRequestHeader("Content-Length", Size1)
  40.     traceprint(Size1)
  41.     http.Send(Data1)
  42.     //
  43.     调试输出(http.Resp**eText)
复制代码
找大神求解决,这一段 老是获取不正确?




求微信post 发图方法!!!!


正确的返回 应该是  

{
"BaseResp**e": {
"Ret": 0,
"ErrMsg": ""
}
,
"MediaId": "@crypt_90f4f2a_0af436b0f70c7376a3940275eaf8e6dc34c48eddcbf42d8ad395b7cde395f976dc3e229b4bca2c46ea4f3908c487883c8f0ff972347df98eebb6e88b3e481a07ff6d769e9f98e64732ce95d38c7a09e10c25483e0d1bbc1d2b7ad4fc91e3af2463b61fa10d3a4dfc7787bba33592f569f435d77e27acdafdca2ec0847a913322a811a76452bfb7da93d23939284571d18ccc1eb3d80e3d05b8937294eb8d4e3897fc33ab1cd8a5c5012fe0d413df3280d2c0a921f37ddb67864b168ccca5822fe6faa8d59f7046d3ab0e87257cced2821f1431e9320f7f93a91f2010a2ea94a4cb30c4b5f7b436d1273814c9709609ae183233645f590dd790ec0a464cf1556b142a745bbf476067fe5b6714052073a8f4568abc2c27c2090761df18257746da5291d16d4e7c414f908dff819936a0f59bc2c81511444eacd4493a5666d2b3746c47a6492aa75292026999e6906161f8b9dac4ec72bff4902524682889703286",
"StartPos": 697114,
"CDNThumbImgHeight": 89,
"CDNThumbImgWidth": 100
}

post头.txt

1.11 KB, 下载次数: 501, 下载积分: 金币 -1 个

post尾.txt

42 Bytes, 下载次数: 465, 下载积分: 金币 -1 个

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-28 22:40 , Processed in 0.044525 second(s), 26 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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