|
悬赏50金钱已解决
本帖最后由 king8462 于 2019-8-13 13:47 编辑
想借用下面的易语言代码用于post提交数据:
字节集数据 = 读入文件 (FilePath)
data = 到字节集 (#POST_UP)
data = 子字节集替换 (data, 到字节集 (“[guid]”), 到字节集 (guid), , )
data = 子字节集替换 (data, 到字节集 (“[pz]”), 到字节集 (pz), , )
data = 子字节集替换 (data, 到字节集 (“[文件名]”), 到字节集 (文本_取右边 (FilePath, “\”)), , )
data = 子字节集替换 (data, 到字节集 (“[时间]”), 到字节集 (V8取标准时间 ()), , )
data = 子字节集替换 (data, 到字节集 (“[文本数据]”), 字节集数据, , )
http.Open (“POST”, “url”)
http.SendBin (到字节集 (data), 真)
但运行下面的au3代码把exe文件插入进去后发现exe文件大小改变了,而且post后exe无法打开。不知道哪里出错了,请高手帮忙修改一下。附件为guid.txt文件
$guid="wu_1di4a1i7l1mmru1n1udfp807l90"
$pz="SF5Rc8mkQQacKUKxYK/ao8coslHrvh7dthxXFuoln40OXxqTtYb9OclvqFqgBC1z"
$date="Tue Aug 13 2019 09:39:08 GMT 0800 (中国标准时间)"
Local $file = @ScriptDir & "\guid.txt"
$sfile=FileOpen($file)
Local $chars = FileRead($sfile)
$chars = StringReplace($chars,"[guid]",$guid)
$chars = StringReplace($chars,"[pz]",$pz)
$chars = StringReplace($chars,"[文件名]","exe测试文件.exe")
$chars = StringReplace($chars,"[时间]",$date)
$scwj=FileOpen(@ScriptDir&"\exe测试文件.exe")
$sText= FileRead($scwj)
FileClose(@ScriptDir&"\exe测试文件.exe")
$chars = StringReplace($chars,"[文本数据]",$sText)
FileWrite(FileOpen($file,2),$chars)
FileClose($file)
$file=FileOpen($file,16)
$data=FileRead($file)
;以下post代码部分省略
$httpObj.Open ("POST", "url")
$httpObj.Send($data)
$httpObj.WaitForResponse()
|
附件: 您需要 登录 才可以下载或查看,没有账号?加入
最佳答案
查看完整内容
感觉被楼主带偏了,Au3 本身就可以完成全套的 Post 不说,就光当前的这个问题而言,就不应该替换完成后写入txt文本文档再读取,这样二进制文件的数据肯定已经损坏。应该直接二进制替换,然后直接Post:
这样应该OK! 没有测试,但感觉必须能成,不行来战
|