如何在powershell中为twitter执行cURL命令

时间:2014-04-25 02:50:48

标签: powershell curl twitter ssl-certificate

这是我到目前为止所得到的。我需要一个用于推文的curl命令,但我无法在powershell中运行此命令。基本上这适用于unix中的bash但不适用于powershell。我是powershell的新手,我需要帮助。

$command=".\curl.exe --GET 'https://api.twitter.com/1.1/search/tweets.json' --data 'geocode=35.144345%2C33.411364%2C50km' --header 'Authorization: OAuth oauth_consumer_key="nX4pcKmVh97AurzF1vw", oauth_nonce="8b75d7086fcb184fd4558c11fcf64ca1", oauth_signature="Kh%2FrwmLLKT%2FmcjY9mf9z4%2F9duNY%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1398393421", oauth_token="823982814-qi4RnSxugD7nPp5zwWEe8LZ1PxfTLpKsbVk2nR12", oauth_version="1.0"'  --verbose"
invoke-expression $command

我也试过invoke-WebRequest $command

我有这个错误:

* SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
* Closing connection #0
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

3 个答案:

答案 0 :(得分:1)

而不是使用Invoke-Command(或者更糟糕的是:使用包含shell命令的字符串调用Invoke-WebRequest) - 尝试使用带有herestring的Start-Process。 您可以阅读here如何以及原因。

另外:自PowerShell v3以来,有一种方法可以关闭PowerShell解析:

.\curl.exe --% All your parameters for curl go here

答案 1 :(得分:0)

由于单引号,该命令无法在Windows上运行。它需要在Windows中双引号。例如"https://blablabla..."

对于证书问题,请确保安装了openssl(或其他内容)并且curl正在使用相应的证书。但是出于测试目的,您可以使用-k参数来使用不安全的通道。

答案 2 :(得分:0)

尝试此PowerShell模块https://github.com/MeshkDevs/InvokeTwitterAPIs

而不是curl