কার্সার সমেত PowerShell সমান


116

একটি সমতুল্য আছে curl PowerShell মধ্যে? এটি কি কিছু অনুরূপ অন্তর্নির্মিত ক্ষমতা আছে অথবা একটি থার্ড পার্টি cmdlet আছে?


5
বন্ধ আছে? বন্ধ কিভাবে সম্পর্কে superuser.com/questions/34492/... , superuser.com/questions/295021/... , superuser.com/questions/71446/... এবং অন্যদের হোস্ট?
Borek Bernard

1
আসলে এই প্রশ্ন আমার কাছে যথেষ্ট ন্যায্য দেখাচ্ছে? কিন্তু একটি পুরানো উত্তর আছে: stackoverflow.com/questions/340553/...
Rup

@ এসপিইকে চমৎকার সমাধান, আপনি এটি একটি উত্তর হিসাবে পোস্ট করা উচিত।
Borek Bernard

1
PowerShell এ কার্ল ব্যবহার সম্পর্কে এই নিবন্ধটি দেখুন: thesociablegeek.com/azure/using-curl-in-powershell
SDsolar

উত্তর:


78

পাওয়ারশেল 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/


7
আপনি যা সম্পাদন করার চেষ্টা করছেন তার উপর নির্ভর করে আপনি Invoke-WebRequest কমান্ডটি চাইতে পারেন।
Timothy Lee Russell

22
এটা হিসাবে aliased হয় curl অথবা wget এখন Powershell মধ্যে।
CMCDragonkai

10
হ্যাঁ এটা বিদ্বেষপূর্ণ যে তারা তাদের উচ্চারণ চাই, সিনট্যাক্স সম্পূর্ণরূপে ভিন্ন। যদি এমএস কোন প্যাকেজ ম্যানেজারকে জাহাজে না করে এবং সাধারণ, সাধারণ সরঞ্জামগুলি সহজ করে তুলতে চায় তবে একটি জাল উদ্বৃত্তের পিছনে লুকিয়ে রাখা পরিস্থিতিটিকে আরও ভাল করে তুলবে না।
MichaelGG

Invoke-WebRequest এর সাথে সবচেয়ে বড় সমস্যাটি হল যে আইআইটি 'প্রাথমিক' না হলে এটি কাজ করে না; সুতরাং পাইপলাইন বা ডিএসসি স্ক্রিপ্ট লেখার সময় আপনাকে প্রথমে কিছু অতিরিক্ত লেজওয়ার্ক করতে হবে অথবা আপনি ইনভোক-রিস্টম পদ্ধতি ব্যবহার করতে পারেন।
LimpingNinja

@ লিম্পিংএনঞ্জা, আপনার কি এর জন্য একটি উৎস আছে? সম্ভবত আপনি যে সমস্যার সম্মুখীন ছিলেন তার কারণে এটি ছিল: "-UseBasicParsing হ'ল ডকুমেন্ট অবজেক্ট মডেল (DOM) পার্সিং ছাড়া HTML সামগ্রীটির প্রতিক্রিয়া অবজেক্টটি ব্যবহার করে। ইন্টারনেট এক্সপ্লোরারটি কম্পিউটারগুলিতে ইনস্টল করা না থাকলে এই পরামিতিটি প্রয়োজন হয় যেমন সার্ভার কোর ইনস্টলেশনের উপর একটি উইন্ডোজ সার্ভার অপারেটিং সিস্টেম। " থেকে msdn.microsoft.com/powershell/reference/3.0/...
Michael Kelley

27

চমৎকার কমান্ড লাইন কুংফু ব্লগ আছে একটি পোস্ট যেখানে তারা curl, wget এবং সম্পর্কিত পাওয়ারশেল কমান্ড তুলনা করে

সংক্ষেপে:

(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"

এই উত্তর উল্লেখ DownloadFile ভাল কাজ করে যা ফাংশন।
Paul Hicks

26

Powershell 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

Unaali কমান্ড ব্যবহার করতে ...

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

Powershell ডিফল্ট এবং অন্যান্য aliases Leveraging আপনি কমান্ড ছোট করতে পারে

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

... কিন্তু আমি এটা সুপারিশ করবে না। Verbose আদেশ আপনার কোড পড়ার সময় অন্যদের সাহায্য।


কি হল - উড়ি পতাকা করছে ... আমি কার্ল-ইউরির জন্য বা এর সাথে একই ফলাফল পাই api.github.com/rate_limit '। আমি এই জন্য অনুসন্ধান করেছি, কিন্তু এখনও নিশ্চিত না
Drenai

1
ক্ষমতাশালী ইন কিছু পরামিতি নাম পরিমাপ পরামিতি মান ক্রম থেকে প্রাপ্ত করা যেতে পারে। আপনি এ খুঁজছেন মাধ্যমে দেখতে পারেন get-help curl। আপনি দেখতে পাবেন Invoke-WebRequest [-Uri] <Uri> ..., বন্ধনী সঙ্গে [] ইঙ্গিত -Uri বাদ দেওয়া যেতে পারে (এবং তাই implicitly আহ্বান করা হয়)। আমি প্রধান পোস্টে উল্লেখ করেছি: সাধারণভাবে আপনি স্পষ্ট হওয়া উচিত (আপনি বা অন্যেরা ভবিষ্যতে আপনার কোড পড়তে যাচ্ছেন)।
John Bentley

আহ - ধন্যবাদ। তাই আমি এটা ছেড়ে চলে যাচ্ছি, কিন্তু এটি এখনও আহ্বান করা হচ্ছে, জানি না যে কি [] করেছিল
Drenai

আপনি স্বাগত জানাই। আপনি এটা পেয়েছেন. পাওয়ারশেল কমান্ডের জন্য সিনট্যাক্স বর্ণনা যা আপনি খুঁজে পান get-help কিছু সংস্করণ দেওয়া হয় en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form । আপনি ভাল পড়তে পারবেন / স্কিম করবেন কারণ এক্সটেন্ডেড ব্যাকাস নাউর ফর্মের কিছু সংস্করণ সম্ভবত আপনি যে ভাষাগুলি জুড়ে যাবেন তার সিনট্যাক্সটি বর্ণনা করার জন্য ব্যবহার করা হবে। আপনি যে লক্ষ্য করবেন en.wikipedia.org/wiki/... বন্ধনী [ ...] ঐচ্ছিক যে নকশা সিনট্যাক্স।
John Bentley

15

আপনি ইনস্টল করতে পারেন উইন্ডোজ জন্য গিট , এবং তারপর আপনার পথে গিট বিন ফোল্ডার রাখুন। গিট ইনস্টল অন্যান্য জিনিস, curl.exe মধ্যে রয়েছে। ইনস্টল করার পরে, ঠিক করা %programfiles(x86)%\git\bin আপনার পাথে। তারপর আপনি উইন্ডো কমান্ড প্রম্পট বা পাওয়ারশেল কনসোল থেকে curl কমান্ডটি ব্যবহার করতে পারবেন।



1

নিকটতম জিনিস wget অথবা curl উইন্ডোজ উপর বিট (ব্যাকগ্রাউন্ড ইন্টেলিজেন্ট ট্রান্সফার সার্ভিস), যা কিছু স্নিপেট পাওয়ারশেলের জন্য প্রস্তুত।


2
আমি বিটস wget বা কার্ল চেয়ে একটি ভিন্ন সমস্যা সমাধান মনে হয়।
ongle

একটি এইচটিপি সার্ভার থেকে জিনিস আনছে?
akira

2
না :), এটি ব্যাকগ্রাউন্ড গোয়েন্দা অংশ।
ongle

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.