Better late than never, I hope.
Better late than never, I hope.
(Invoke-WebRequest -Uri wttr.in).content
from Powershell. Why not use the happy path?I honestly can't tell if this is sarcastic or not. I've been typing `curl -O http: ...` into command prompts for decades, and that Powershell incantation looks awfully unwieldy.
In what way is it the happy path?
Invoke-WebRequest is just iwr
No, you should always use it.
Its maybe a problem when ultimate performance is in question, but you can go long way with Powershell - I recently had a web service SOAP client implemented in it that did millions of requests in an hour using threads in less then 50 lines of code consuming less then 3% of server resources (running entire country in single day actually)
> I end up just using WSL ubuntu
You can have basiclly anthing working without WSL (except maybe docker correctly).
> Also I don't really know the commands so it feels crippled to me (no ssh (still? idk),
SSH is there. Learn commands along the way. You should def take a book like this one: https://www.manning.com/books/learn-windows-powershell-in-a-...
> not many tools,
All usual tools, linux and windows, can be used. You have majority of them hosted on chocolatey.
People for some reason always show long stuff that is only used when you write scripts to share with others and not interactivelly - you could do the same with curl if you use --long-parameter-names but somehow people are biased when talking about posh like aliases and other things do not exist.
Why does every parameter have to have consist of a camelcased sentence? I'm a good typist, but I don't think what you wrote is better than
curl wttr.in
But that might just be (my) programming. http.get(url="...").body
in my console rather than this Invoke-WhatEver thing, because at least it seems programming language-y and names are consistent with all other web software.Ed: strictly speaking, URI is not even a thing that you pass to a web request. I bet that IRM couldn’t fetch urn:isbn:0451450523.
Because curl is consistent?
> urn:isbn:0451450523
Curl can't do whatever this is either?
>Curl can't do whatever this is either?
Right. This is a valid URI, which Invoke-RestMethod uses as a parameter name (-Uri) and which is a unique id for a resource and not its location (it could be, but not in this particular case). They should not have call that argument “URI”, if what they actually do is fetching from a URL.
irm wttr.in
irm is an alias for Invoke-RestMethod which is similar to Invoke-WebRequest but better for non-html responses like json or plain text. Invoke-RestMethod http://wttr.in
For some reason they recommend that early in the readme, but not down in https://github.com/chubin/wttr.in#windows-users where they discuss various issues on Windows.EDIT: I see now that lzybkr already suggested using the even shorter alias `irm` for `Invoke-RestMethod`. Nice!
https://github.com/majkinetor/posh/blob/master/MM_Sugar/Get-...
The console subsystem is open-source at https://github.com/microsoft/terminal. Feel free to file bugs, complain, or what have you. That’s what we’re here for!
To quote GP, “better late than never, I hope”.