सवाल पावरशेल कर्ल के बराबर


क्या इसके बराबर है curl PowerShell में? क्या इसमें कुछ समान अंतर्निहित क्षमता है या क्या कोई तृतीय पक्ष cmdlet है?


110
2017-10-10 11:19


मूल


बन्द है? बंद करने के बारे में कैसे superuser.com/questions/34492/..., superuser.com/questions/295021/..., superuser.com/questions/71446/... और दूसरों की मेजबानी? - Borek Bernard
असल में यह सवाल मेरे लिए काफी उचित दिखता है? लेकिन एक पुराना जवाब है: stackoverflow.com/questions/340553/... - Rup
@Spoike अच्छा समाधान, आपको इसे एक उत्तर के रूप में पोस्ट करना चाहिए। - Borek Bernard
PowerShell में कर्ल का उपयोग करने के बारे में इस आलेख को देखें: thesociablegeek.com/azure/using-curl-in-powershell - SDsolar


जवाब:


पावरशेल 3.0 में नया आदेश है Invoke-RestMethod:

http://technet.microsoft.com/en-us/library/hh849971.aspx

ज्यादा जानकारी:

https://discoposse.com/2012/06/30/powershell-invoke-restmethod-putting-the-curl-in-your-shell/


74
2018-05-04 00:18



आप जो भी करने की कोशिश कर रहे हैं उसके आधार पर आप इसके बजाय Invoke-WebRequest कमांड चाहते हैं। - Timothy Lee Russell
यह भी उपनाम है curl या wget पावरहेल में अब - CMCDragonkai
हाँ यह विचित्र है कि वे उन्हें उपनाम करेंगे, क्योंकि वाक्यविन्यास पूरी तरह से अलग है। यदि एमएस पैकेज प्रबंधक को शिप नहीं करना चाहता है और इसे सामान्य बनाना आसान बनाता है, तो मूल उपकरण, नकली उपनाम के पीछे छिपाने से स्थिति बेहतर नहीं होगी। - MichaelGG
Invoke-WebRequest के साथ सबसे बड़ी समस्या यह है कि यदि आईई 'प्रारंभिक' नहीं है तो यह काम नहीं करता है; इसलिए जब पाइपलाइन या डीएससी स्क्रिप्ट लिखते हैं तो आपको पहले कुछ अतिरिक्त लेगवर्क करना होगा या आप Invoke-RestMethod का उपयोग कर सकते हैं। - LimpingNinja
@ लिम्पिंग निंजा, क्या आपके पास इसका स्रोत है? हो सकता है कि आपके द्वारा अनुभव की गई समस्या इस वजह से थी: "-UseBasicParsing दस्तावेज़ ऑब्जेक्ट मॉडल (डीओएम) पार्सिंग के बिना HTML सामग्री के लिए प्रतिक्रिया ऑब्जेक्ट का उपयोग करता है। यह पैरामीटर आवश्यक है जब कंप्यूटर पर इंटरनेट एक्सप्लोरर स्थापित नहीं है, जैसे कि सर्वर कोर स्थापना विंडोज सर्वर ऑपरेटिंग सिस्टम का। " से msdn.microsoft.com/powershell/reference/3.0/... - Michael Kelley


उत्कृष्ट कमांड लाइन कुंग फू ब्लॉग है एक पद जहां वे कर्ल, wget और संबंधित PowerShell आदेशों की तुलना करें

संक्षेप में:

(New-Object System.Net.WebClient).DownloadString("http://www.example.com/hello-world.html","C:\hello-world.html")

या, यदि पावरहेल / .Net का आपका संस्करण 2 पैरामीटर स्वीकार नहीं करता है DownloadString:

(New-Object System.Net.WebClient).DownloadString("http://www.example.com/hello-world.html") > "C:\hello-world.html"

26
2017-10-10 11:26



यह जवाब उल्लेख करता है DownloadFile समारोह जो अच्छी तरह से काम करता है। - Paul Hicks


पावरहेल 5.0 के रूप में, अगर पहले नहीं, curl के लिए एक उपनाम है Invoke-WebRequest

PS> Get-Alias -Definition Invoke-WebRequest | Format-Table -AutoSize

CommandType Name                      Version Source
----------- ----                      ------- ------
Alias       curl -> Invoke-WebRequest
Alias       iwr -> Invoke-WebRequest
Alias       wget -> Invoke-WebRequest

Unaliased आदेश का उपयोग करने के लिए ...

PS> Invoke-WebRequest -Uri https://localhost:443/
PS> Invoke-WebRequest -Uri https://www.google.com

तो अनुरोध के रूप में अनुरोध के कई गुण वापस ...

PS> Invoke-WebRequest -Uri https://www.google.com

StatusCode        : 200
StatusDescription : OK
Content           : <!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="en-AU"><head><meta content="text/html; charset=UTF-8"
                    http-equiv="Content-Type"><meta content="/images/branding/googleg/1x/...
RawContent        : HTTP/1.1 200 OK
                    X-XSS-Protection: 1; mode=block
                    X-Frame-Options: SAMEORIGIN
                    Vary: Accept-Encoding

... या सिर्फ सामग्री ...

PS> Invoke-WebRequest -Uri https://www.google.com | Select-Object -ExpandProperty Content

<!doctype html><html itemscope="" itemtype="http://schem[etc ...]

समकक्ष उपनाम आदेश हैं ...

PS> curl -Uri https://www.google.com
PS> curl -Uri https://www.google.com | Select-Object -ExpandProperty Content

पावरहेल डिफ़ॉल्ट और अन्य उपनामों का लाभ उठाने से आप कमांड को कम कर सकते हैं

PS> curl https://www.google.com 
ps> curl https://www.google.com | Select -ExpandProperty Content

... लेकिन मैं इसकी सिफारिश नहीं करता। Verbose आदेश आपके कोड को पढ़ने के दौरान दूसरों की मदद करते हैं।


25
2017-10-30 23:21



क्या है -उरी झंडा कर रहा है ... मुझे 'curl -Uri' के साथ या इसके बिना एक ही परिणाम मिलते हैं api.github.com/rate_limit'। मैंने इसकी खोज की है, लेकिन अभी भी सुनिश्चित नहीं है - Drenai
शक्तियों में कुछ पैरामीटर नामों को पैरामीटर मानों के क्रम से स्पष्ट रूप से व्युत्पन्न किया जा सकता है। आप इसे देखकर देख सकते हैं get-help curl। तुम देखोगे Invoke-WebRequest [-Uri] <Uri> ..., ब्रैकेट के साथ [] यह दर्शाता है -Uri बाहर छोड़ा जा सकता है (और इसलिए निहित रूप से लागू)। जैसा कि मैंने मुख्य पोस्ट में उल्लेख किया है: सामान्य रूप से आपको स्पष्ट होना चाहिए (जहां आप या अन्य भविष्य में आपका कोड पढ़ रहे हैं)। - John Bentley
आह - धन्यवाद। तो मैं इसे छोड़ रहा हूं, लेकिन अभी भी इसे बुलाया जा रहा है, पता नहीं था कि यही क्या है [] किया था - Drenai
आपका स्वागत है। तुम्हें यह मिल गया है। पावरहेल कमांड के लिए वाक्यविन्यास विवरण जो आपको मिलते हैं get-help के कुछ संस्करण में दिया गया है en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form। आपको इसे पढ़ने / स्किम करने के लिए अच्छा लगेगा क्योंकि विस्तारित बैकस नौर फॉर्म का कुछ संस्करण संभवतः आपके द्वारा आने वाली कई भाषाओं के वाक्यविन्यास का वर्णन करने के लिए उपयोग किया जाता है। आप उस पर ध्यान देंगे en.wikipedia.org/wiki/... कोष्ठक [ ...] वैकल्पिक वाक्यविन्यास निर्दिष्ट करें। - John Bentley


आप भी स्थापित कर सकते हैं विंडोज के लिए गिट, और फिर अपने पथ में गिट बिन फ़ोल्डर डालें। गिट इंस्टॉल में अन्य चीजों के साथ, curl.exe शामिल है। स्थापित करने के बाद, बस रखो %programfiles(x86)%\git\bin आपके पाथ में फिर आप विंडोज कमांड प्रॉम्प्ट या पावरशेल कंसोल से कर्ल कमांड का उपयोग करने में सक्षम होंगे।


14
2018-04-04 01:20





आप ऐसा कर सकते हैं Chocolatey के साथ curl स्थापित करें और PowerShell सीएलआई में कर्ल उपलब्ध है या cmd


13
2018-01-22 15:07



फिर इसके लिए वोट जाओ connect.microsoft.com/PowerShell/feedbackdetail/view/1089296/... - MotoWilliams


सबसे नज़दीकी बात है wget या curl खिड़कियों पर है बिट्स (पृष्ठभूमि इंटेलिजेंट ट्रांसफर सर्विस), जिसमें कुछ स्निपेट्स पावरहेल के लिए तैयार हैं।


1
2017-12-11 16:38



मुझे लगता है कि बीआईटीएस wget या curl की तुलना में एक अलग समस्या हल करता है। - ongle
एक एचटीपी सर्वर से चीजें ला रहा है? - akira
नहीं :), इसका पृष्ठभूमि खुफिया हिस्सा। - ongle


यह आदेश काम करना चाहिए:

Invoke-WebRequest -UseBasicParsing -Uri http://example.com/

यह का हिस्सा है Microsoft.PowerShell.Utility पावरशेल 3.0 के बाद से।

यह भी देखें: पावरहेल में टेक्स्ट फ़ाइल को लिखने के लिए $ webclient.downloadstring प्राप्त करें


0
2018-02-13 12:01