我正在使用Xojo向Twilio发送一个简短的SSL命令。
在Mac上,cURL是内置的,所以执行shell命令很简单。
由于cURL没有安装在Windows上,有没有一个版本的cURL可以在所有的Windows版本上运行(或者我的应用程序安装程序Inno需要确定Windows操作系统是否正在运行并安装该特定版本)?
任何关于需要包含哪些文件的建议都将不胜感激。
安装后,Windows机器上的cURL命令与Mac上的有何不同?
谢谢。
发布于 2014-11-02 05:59:39
经过一段时间的搜索,我终于想出了一个解决方案。
如果下载安装程序文件(扩展名为.msi ),它将创建一个C:\Program Files\curl目录,并将文件解压缩到该目录。您可以将这些文件放在您选择的任何目录中,只要正确引用它即可。
在中,您可以创建一个类似于以下代码的
Dim sh作为新Shell
字符串形式的Dim命令
command =“C:\Program Files\curl\bin\curl"”-X POST https://myurl.com“
sh.Execute(command)
请注意,C:\Program Files\curl\bin\curl包含在双引号内。这是因为"Program Files“中有一个空格。如果没有将地址放在双引号内,则空格后面的所有内容都将被视为参数,并将生成错误。
重要说明: Windows无法识别单引号,因此所有单引号都需要替换为双引号。
此外,在Mac OS上,"-“字符需要使用反斜杠"-”进行转义。在将cURL命令从Mac转换到Windows时,需要删除这些反斜杠。
发布于 2017-10-03 19:25:40
您不应该需要cURL来发送帖子。看看HTTPsocket对象的POST方法。
来自官方的Xojo文档:
此示例对一个服务执行同步POST,该服务将以JSON的形式返回您POSTed到的内容:
Dim d As New Dictionary
d.Value("Test") = "TestValue"
d.Value("Value2") = "Testing"
Socket.SetFormData(d)
// This service simply returns the post data as the result
Dim result As String
result = Socket.Post("http://httpbin.org/post", 30) // Synchronous
result = DefineEncoding(result, Encodings.UTF8)
MsgBox(result)要异步执行此操作,请在没有超时的情况下调用Post:
Dim d As New Dictionary
d.Value("Test") = "TestValue"
d.Value("Value2") = "Testing"
Socket.SetFormData(d)
// This service simply returns the post data as the result
Socket.Post("http://httpbin.org/post")结果将在content参数的PageReceived事件处理程序中可用。
Sub PageReceived(url As String, httpStatus As Integer, headers As InternetHeaders, content As String)
Dim data As String
data = DefineEncoding(content, Encodings.UTF8)
ResultArea.Text = data
End Subhttps://stackoverflow.com/questions/26691872
复制相似问题