2013-10-17 36 views
0

我試圖運行curl命令包如下Ruby代碼裏面:爲什麼在Windows中運行時無法識別'curl'?

f=IO.popen("C:\Windows\System32\curl.exe -H 'Authorization: Bearer #{token}' -s -v -D - http://api.pageuppeople.com/v1/NAS/Config/LanguageDictionary/Overrides --debug 2>NUL").readlines 

然而,輸出我得到的是:

'curl' is not recognized as an internal or external command, operable program or batch file 

我在Windows 7

運行我還在環境路徑中設置了「C:\ Windows \ System32」。

請幫忙。

+1

「C:\ Windows \ System32 \ curl.exe」確實存在於該位置。我不認爲這是Windows的標準配置。 – Alex

+1

除非*有*要做其他事情,否則使用Python的請求包進行抓取。這是解決問題的更簡潔的方法。如果你不能使用Requests,那麼內建的'httplib'不如使用curl更好,但仍比使用curl更好。 –

+0

[Curb](https://github.com/taf2/curb)gem是一個很好的與libcurl接口的方式,比使用'popen'更方便。 –

回答

1

curl不是Windows的組件。除非你專門安裝了它,否則它不會存在於系統中。

我不是Ruby專家,但我懷疑你應該真的在這裏使用Ruby庫,或者類似的東西。即使在安裝了curl的系統上,啓動它也不是運行HTTP請求的明智方式。

+0

Ruby有一個名爲[Curb](https://github.com/taf2/curb)的巨大寶石,它直接與libcurl接口。它功能非常全面,可以做一些Net :: HTTP無法做到的事情。 –

0

CURL不是Windows組件。下載curl.exe並將其保存在你的路徑中。

或者下載curl.exe並從相同的文件夾調用該命令。

1

Curl沒有附帶Windows,但它已被移植到Windows。

您可以在這裏下載:

http://sourceforge.net/projects/gnuwin32/file 

我一無所知紅寶石,但我知道你shuld可以使用本機libary您的HTTP需求。

相關問題