Web.Contents
ส่งกลับเนื้อหาที่ดาวน์โหลดจาก URL เป็นไบนารี
Syntax
Web.Contents(
url as text,
optional options as record
) as binary
Remarks
ส่งกลับเนื้อหาที่ดาวน์โหลดจาก url
เป็นไบนารี พารามิเตอร์ระเบียนเพิ่มเติม options
อาจมีให้เพื่อระบุคุณสมบัติเพิ่มเติม ระเบียนสามารถมีเขตข้อมูลต่อไปนี้:
Query
: เพิ่มพารามิเตอร์คิวรีด้วยโปรแกรมลงใน URL โดยไม่ต้องกังวลเกี่ยวกับอักขระหลีกApiKeyName
: ถ้าไซต์เป้าหมายมีการระบุคีย์ API ไว้ จะสามารถใช้พารามิเตอร์นี้เพื่อระบุชื่อ (ไม่ใช่ค่า) ของพารามิเตอร์คีย์ที่จะต้องใช้ใน URL จะมีการแสดงค่าคีย์จริงไว้ในข้อมูลประจำตัวHeaders
: การระบุค่านี้เป็นระเบียนจะใส่ส่วนหัวเพิ่มเติมให้กับคำขอ HTTPTimeout
: การระบุค่านี้เป็นระยะเวลาจะเปลี่ยนแปลงการหมดเวลาสำหรับคำขอ HTTP ค่าเริ่มต้นคือ 100 วินาทีExcludedFromCacheKey
: การระบุค่านี้เป็นรายการจะแยกคีย์ส่วนหัว HTTP เหล่านี้ออกจากการเป็นส่วนหนึ่งของการคำนวณสำหรับการแคชข้อมูลIsRetry
: การระบุค่าตรรกะนี้เป็นจริงจะละเว้นการตอบสนองที่มีอยู่ในแคชเมื่อดึงข้อมูลManualStatusHandling
: การระบุค่านี้เป็นรายการจะป้องกันไม่ให้มีการจัดการในตัวสำหรับคำขอ HTTP ที่การตอบสนองมีหนึ่งในรหัสสถานะเหล่านี้RelativePath
: การระบุค่านี้เป็นข้อความจะผนวกเข้ากับ URL ฐานก่อนทำการร้องขอContent
: การระบุค่านี้จะเปลี่ยนแปลงคำขอของเว็บจาก GET เป็น POST โดยใช้ค่าของตัวเลือกเป็นเนื้อหาของ POST
ส่วนหัวของการตอบสนอง HTTP จะพร้อมใช้งานเป็นเมตาดาต้าในผลลัพธ์ไบนารี ภายนอกบริบทตัวเชื่อมต่อข้อมูลแบบกําหนดเอง มีเพียงชุดย่อยของส่วนหัวการตอบสนองเท่านั้นที่พร้อมใช้งาน (สำหรับเหตุผลด้านความปลอดภัย)
Examples
Example #1
เรียกใช้เนื้อหาของ <code>"https://bing.com/search?q=Power+Query"</code> โดยใช้ตัวเลือก RelativePath และ Query ตัวเลือกเหล่านี้สามารถใช้เพื่อคิวรี URL ฐานสแตติกแบบไดนามิกได้
let
searchText = "Power Query"
in
Web.Contents(
"https://www.bing.com",
[
RelativePath = "search",
Query = [q = searchText]
]
)
Result:
binary
Example #2
ดําเนินการโพสต์กับ URL ผ่านส่วนข้อมูล JSON ไบนารีและแยกวิเคราะห์การตอบสนองเป็น JSON
let
url = ...,
headers = [#"Content-Type" = "application/json"],
postData = Json.FromValue([x = 235.7, y = 41.53]),
response = Web.Contents(
url,
[
Headers = headers,
Content = postData
]
),
jsonResponse = Json.Document(response)
in
jsonResponse
Result:
table
Example #3
เชื่อมต่อกับ URL ที่ปลอดภัยที่ยอมรับคีย์การรับรองความถูกต้องเป็นส่วนหนึ่งของสตริงคิวรี แทนที่การเขียนโค้ดคีย์ลับใน M (ซึ่งอาจทําให้เกิดความเสี่ยงด้านความปลอดภัย) คีย์สามารถให้ไว้อย่างปลอดภัยโดยการระบุชื่อ (ไม่ใช่ค่า) ใน M เลือกการรับรองความถูกต้องของ API เว็บ และการใส่ค่าคีย์เป็นส่วนหนึ่งของข้อมูลประจําตัว API เว็บ เมื่อใช้ด้วยวิธีนี้ ตัวอย่างต่อไปนี้จะสร้างคําขอไปยัง <code>"https://contoso.com/api/customers/get?api_key=\*\*\*\*\*\*"</code>
Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])
Result:
binary
Category
Accessing data