我正在使用Xojo向Twilio發送一個簡短的SSL命令。使用Xojo在Windows上運行cURL
在Mac上,cURL是內置的,所以執行shell命令很簡單。
由於cURL沒有安裝在Windows上,是否有一個可在所有Windows版本上運行的cURL版本(或者我的應用安裝程序Inno需要確定Windows操作系統是否正在運行並安裝該特定版本)?
任何關於需要包含哪些文件的建議將不勝感激。
安裝完成後,Windows機器上的cURL命令如何與Mac不同?
謝謝。
我正在使用Xojo向Twilio發送一個簡短的SSL命令。使用Xojo在Windows上運行cURL
在Mac上,cURL是內置的,所以執行shell命令很簡單。
由於cURL沒有安裝在Windows上,是否有一個可在所有Windows版本上運行的cURL版本(或者我的應用安裝程序Inno需要確定Windows操作系統是否正在運行並安裝該特定版本)?
任何關於需要包含哪些文件的建議將不勝感激。
安裝完成後,Windows機器上的cURL命令如何與Mac不同?
謝謝。
經過一段時間的搜索,我終於想出了一個解決方案。
如果您下載安裝程序文件(擴展名爲.msi),它會創建一個C:\ Program Files \ curl目錄並將文件解壓縮到該目錄。您可以將文件放置在您選擇的任何目錄中,只要您正確引用它即可。
在Xojo,創建類似於這裏的代碼外殼命令:
昏暗SH作爲新的外殼
昏暗命令作爲字符串
命令= 「」 「C:\ Program Files文件\捲曲\ BIN \捲曲」 「-X POST https://myurl.com」
sh.Execute(命令)
請注意,C:\ Program Files \ curl \ bin \ curl位於雙引號內。這是因爲「Program Files」中有一個空格。如果您不將地址放在雙引號內,則空格後面的所有內容都將被視爲參數,並會生成錯誤。
重要說明:Windows無法識別單引號,因此所有單引號都需要用雙引號替換。
另外,在Mac OS上,「 - 」字符需要用反斜線「 - 」轉義。將cURL命令從Mac轉換到Windows時,需要刪除這些反斜槓。
您不應該需要cURL才能發送POST。看看HTTPsocket對象的POST方法。
從官方Xojo文檔:
這個例子做了同步POST到返回你發佈什麼把它作爲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)
爲此異步,來電來郵無超時:
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