'"Positional Parameter" error when posting data with cURL
If I were to issue the command without the --data "...", it works just fine. I've tried Google and I can't find any answers to this problem. Following the directions located here I'm getting the following errors when I attempt to post data with cURL:
PS C:\Users\David> curl --data "SMethod=0" "http://localhost/terra/modules/scripts/Query.php"
Invoke-WebRequest : A positional parameter cannot be found that accepts argument 'SMethod=0'.
At line:1 char:1
+ curl --data "SMethod=0" "http://localhost/terra/modules/scripts/Query.php"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
Solution 1:[1]
Your problem is answered here: Running cURL on 64 bit Windows
You're not running curl you're running something called Invoke-WebRequest, which is aliased to curl. You need to unalias curl, download and install curl (if you haven't already).
Solution 2:[2]
Remove-item alias:curl
this will be happen to curl easily!!
TRY AND FUN.. AND ALSO curl can make your own
SHORTEN URL , so Don't need to work with 3rd parties.. :D
Solution 3:[3]
Use the Command Prompt instead of using PowerShell.
If you are using PowerShell then you will need to prefix the curl command with cmd /c. For example:
cmd /c curl --data "SMethod=0" "http://localhost/terra/modules/scripts/Query.php"
Solution 4:[4]
As the other answers already mentioned the curl command in powershell is aliased and uses the Invoke-WebRequest cmdlet under the hood. It has similar capabilities to curl.
You can make a POST request and send & receive data without the need to install anything:
curl -body "SMethod=0" "http://localhost/terra/modules/scripts/Query.php" -Method 'POST'
The option -body (Invoke-WebRequest) is the equivalent of -d or --data (curl). The HTTP Method also must be specified.
This StackOverflow answer also considers New-WebServiceProxy and Invoke-RestMethod.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Community |
| Solution 2 | sounish nath |
| Solution 3 | James |
| Solution 4 | Tobi Obeck |
