【问题标题】:Curl Batch file HTTP POST URI卷曲批处理文件 HTTP POST URI
【发布时间】:2015-03-19 04:27:35
【问题描述】:

我需要帮助。这是我第一次在这里提出问题,但找到了很多很好的答案,我希望有人能帮助我。我正在尝试通过使用 Curl 的批处理文件创建 HTTP POST。我已经成功设置了我的标题并从 WireShark 获取了所有必需的信息,但是我被卡住了。我似乎无法让 POST BODY 正确。有人可以指出我正确的方向吗?我的最终目标是模拟与单击生成备份文件的 silverlight Web 应用程序中的按钮相同的操作。 这是我当前的带有标头的 HTTP POST。当您访问 data -d 时,您将看到我发现显示的 POST DATA。

curl -H "Accept: " -H "User-Agent: " -H "Content-Type: " -H "Host:xx.xx.xx.xx" -H "User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0" -H "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -H "Accept-Language:en-US,en;q=0.5" -H "Accept-Encoding:gzip, deflate" -H "Connection:keep-alive" -H "Content-Type:application/msbin1" -H "Content-Length:53" -H "Referer:http:/xx.xx.xx.xx/ClientBin/System_Management_Center.xap" -X POST -d @BackupConfighttp://tempuri.org/@sysTypesmVACS http://xx.xx.xx.xx/ClientBin/System_Management_Center-Web-Services-VACSDomainService.svc/binary/BackupConfig

在我的批处理文件中运行它的结果是无法读取文件,这是一个空帖子。 我注意到将帖子数据复制到网络浏览器显示它包含的内容比在wireshark中显示的要多。它显示为@BackupConfighttp://tempuri.org/@sysType™smVACS,搜索时谷歌返回 @BackupConfig%08%13http://tempuri.org/@%07sysType%06smVACS

我厌倦了用谷歌返回的数据替换我的 -d 行,批处理文件返回“无法从文件中读取数据,”BakupConfigC:\users\sean\desktop\genera~1.BAT83http://tempuri. org/@C:\users\sean\desktop\genera~1.bat7sysTypeC:\users\sean\desktop\genera~1.bat6smVACS",这是一个空的 POST。

非常感谢任何帮助!

【问题讨论】:

  • update 我发现post数据包含Unicode字符。帖子数据的扩展版本看起来像这样 @(Form Feed)BackupConfig(Backspace)(Device Control 3)http://tempuri.org/@(Bell Ring)sysType(Acknowledge)smVACS(Start of Header) 希望有了这些信息,有人可以提供帮助!谢谢!

标签: silverlight batch-file curl http-post uri


【解决方案1】:

问题在于您的 POST 数据以 @ 字符开头,该字符在 curl 中作为指向本地路径的指针进行处理。

来自this link

如果你以字母@开头的数据,其余的应该是一个文件 从中读取数据的名称。

因此,要解决此问题,您需要将@ 替换为%40,这是@ 的编码版本。

希望这会有所帮助。

【讨论】:

  • 感谢您的回复!我厌倦了你的建议,批处理文件没有给出任何错误,这是进步!但是,我的帖子数据为%40BackupConfighttp://tempuri.org/@sysTypesmVACS 返回一个错误的请求(由wireshark 监控)Wireshark 显示0.BackupConfig..http://tempuri.org/@.sysType-..smVACS. 的帖子数据我试图模仿的原始帖子数据如wireshark 所示是@.BackupConfig..http://tempuri.org/@.sysType..smVACS.
  • 您可能还需要在帖子数据中添加引号,因为它包含空格。
  • 非常感谢你们的帮助! @Pupa Rebbe,我尝试了您的建议,但我的批处理文件现在有错误。警告:无法从文件“♀BackupConfi!!tempura.org/@sysType-ö♠smVACS☺”中读取数据,这会导致 POST 为空。
猜你喜欢
  • 2014-10-02
  • 2019-03-31
  • 2015-01-06
  • 1970-01-01
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-12
相关资源
最近更新 更多