cURL (clients for URL) 是一款常用的命令行工具,它被用于基于URL传输数据,它支持HTTP, HTTPS,FTP等协议。其实在Windows平台上,从Powershell 3.0 起增加了一个类似的命令Invoke-WebRequest, 执行 Get-Help Invoke-WebRequest 会看到下面的帮助信息。注意看一下其中的ALIASES部分,curl赫然在列。也就是说,你可以直接使用curl作为命令名字,呵呵!
Invoke-WebRequest的语法与cURL有所不同,但如果会用cURL,转换到使用Invoke-WebRequest非常简单,下面举几个例子 (cURL表示cURL.exe命令,Invoke-WebRequest则是Powershell中的的实现):
- cURL -XGET ‘localhost:9200/library/book/_search‘
- Invoke-WebRequest http://localhost:9200/library/book/_search -Method GET
- cURL -XPOST ‘localhost:9200/library‘
- Invoke-WebRequest http://localhost:9200/library -Method POST
- cURL -XPUT ‘localhost:9200/library/book/_mapping‘ -d @mapping.json
- Invoke-WebRequest http://localhost:9200/library/book/_mapping -Method PUT -InFile mapping.json
- cURL -XPOST ‘localhost:9200/blog/article‘ -d ‘{"title":"ElasticSearch"}‘
- Invoke-WebRequest curlhttp://localhost:9200/blog/article -Method POST -Body ‘{"title":"ElasticSearch"}‘