2016-11-20 33 views
5

Vì vậy, tôi quyết định bắt đầu sử dụng PowerShell thay vì Command Prompt. Và tôi muốn chạy curl. Đầu ra rất khác nhau sau đó phát hiện ra rằng curl là một bí danh để Invoke-WebRequest trong PowerShell.Hiển thị tất cả nội dung với Invoke-WebRequest

Sử dụng PowerShell curl giống như cách thực curl, tôi chỉ nhận được một phần nội dung được hiển thị.

Tôi đã thấy rằng tôi có thể đặt đầu ra của PowerShell curl vào một biến và sau đó sử dụng $variable.Content để hiển thị tất cả nội dung nhưng dường như hoạt động vượt quá curl thực.

Có tùy chọn hiển thị tất cả nội dung trực tiếp không? Tôi không thể thấy một người trong sự giúp đỡ.

Trả lời

9

Không giống như các tiện ích dòng curl lệnh Invoke-WebRequest lợi nhuận một đối tượng có các thuộc tính khác nhau mà nội dung của tài liệu được yêu cầu chỉ là một. Bạn có thể lấy nội dung trong một tuyên bố đơn bằng cách mở rộng các tài sản như thế này:

Invoke-WebRequest 'http://www.example.org/' | Select-Object -Expand Content 

hoặc bằng cách nhận giá trị tài sản qua dot-ký hiệu như thế này:

(Invoke-WebRequest 'http://www.example.org/').Content 

Hoặc bạn có thể sử dụng cổng Windows của curl:

& curl.exe 'http://www.example.org/' 

Gọi chương trình với phần mở rộng để phân biệt từ bí danh curl cho Invoke-WebRequest.

+0

Cảm ơn bạn Ansgar - câu trả lời ở giữa là tốt. – John

0

Một cái gì đó như thế này?

$res=Invoke-WebRequest "https://www.google.fr/" 


#for look html of body 
$res.ParsedHtml.body.innerHTML 

#for look text of body 
$res.ParsedHtml.body.innerText 
0

Vâng, nếu bạn đang bận tâm với phụ gõ đây là con đường ngắn nhất để đạt được điều đó (tốt, ít nhất tôi có thể nghĩ đến):

(iwr google.tt).content 
Các vấn đề liên quan