使用Xojo在Windows上运行cURL

使用Xojo在Windows上运行cURL,windows,curl,Windows,Curl,我正在使用Xojo向Twilio发送一个简短的SSL命令 在Mac上,cURL是内置的,因此执行shell命令很简单 由于没有在Windows上安装cURL,是否有一个版本的cURL将在所有Windows版本上运行,或者我的应用程序安装程序Inno是否需要确定Windows操作系统是否正在运行并安装该特定版本 任何关于需要包括哪些文件的建议都将不胜感激 一旦安装,Windows计算机上的cURL命令与Mac有什么不同 谢谢。经过一段时间的搜索,我终于找到了一个解决方案 安装cURL-使用SSL从

我正在使用Xojo向Twilio发送一个简短的SSL命令

在Mac上,cURL是内置的,因此执行shell命令很简单

由于没有在Windows上安装cURL,是否有一个版本的cURL将在所有Windows版本上运行,或者我的应用程序安装程序Inno是否需要确定Windows操作系统是否正在运行并安装该特定版本

任何关于需要包括哪些文件的建议都将不胜感激

一旦安装,Windows计算机上的cURL命令与Mac有什么不同


谢谢。

经过一段时间的搜索,我终于找到了一个解决方案

安装cURL-使用SSL从下载。 如果下载扩展名为.msi的安装程序文件,它将创建一个C:\Program Files\curl目录,并将文件解压缩到该目录。您可以将文件放在您选择的任何目录中,只要您正确地引用它

在Xojo中,创建一个与以下代码类似的shell命令:

像新贝壳一样暗淡

Dim命令作为字符串

command=C:\ProgramFiles\curl\bin\curl-X POST

sh.执行命令

请注意,C:\Program Files\curl\bin\curl位于双引号内。这是因为程序文件中有一个空格。如果不将地址放在双引号内,则空格后的所有内容都将被视为参数,并将生成错误

重要提示:Windows无法识别单引号,因此需要将所有单引号替换为双引号


此外,在Mac OS上,需要使用反斜杠-转义-字符。将cURL命令从Mac转换到Windows时,需要删除这些反斜杠。

发送帖子不需要cURL。看看HTTPsocket对象的POST方法

从Xojo官方文档中:

此示例对服务执行同步发布,该服务将以JSON的形式返回您发布到它的内容:

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")
结果将在内容参数的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 Sub