การตอบกลับจำลอง
Chute สามารถส่งคืนข้อมูลจำลองสำหรับคำขอ HTTP/HTTPS ที่ตรงกันได้ สำหรับสตรีม HTTP/2 ที่ถูกถอดรหัส การตอบกลับจำลองจะถูกตอบในเครื่องโดยไม่ส่งต่อคำขอ ส่วนคำขอ HTTP/1.1 (ทั้งการพร็อกซีแบบธรรมดาและ MitM HTTP/1.1) คำขอจะยังคงถูกส่งไปยังเซิร์ฟเวอร์จริง และการตอบกลับจริงจะถูกแทนที่ด้วยข้อมูลจำลองก่อนที่จะถึงไคลเอนต์ สิ่งนี้มีประโยชน์สำหรับการทดสอบ การพัฒนา หรือการบล็อกเนื้อหาที่ไม่ต้องการด้วยการตอบกลับที่กำหนดเอง
กฎการจำลองถูกกำหนดในส่วน [Map Local]
จะมีเพียงกฎจำลองเดียวเท่านั้นที่ถูกใช้ต่อคำขอ — กฎแรกที่มีรูปแบบ URL ตรงกัน
รูปแบบ Map Local
สำหรับการให้บริการการตอบกลับจำลองจากไฟล์ในเครื่องหรือด้วยเนื้อหาที่เข้ารหัส base64:
[Map Local]
^https://example\.com/api.* data="/path/to/mock-response.json"
^https://example\.com/page.* data="/path/to/page.html" header="SGVhZGVyOiBWYWx1ZQ=="
^https://example\.com/pixel.* base64="R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
Notice: นิพจน์ปกติ URL ต้องตรงกับ URL ของคำขอทั้งหมด ไม่ใช่เพียงบางส่วนของ URL เท่านั้น โดยทั่วไปรูปแบบควรลงท้ายด้วย
.*เพื่อให้ตรงกับ URL ที่มีพาธและ query string ใด ๆ
พารามิเตอร์ Map Local
| พารามิเตอร์ | คำอธิบาย |
|---|---|
data="/path/to/file" |
เส้นทางไฟล์เพื่อให้บริการเป็นเนื้อหาการตอบกลับ ไฟล์ถูกอ่านในเวลาคำขอ |
base64="<encoded>" |
เนื้อหาการตอบกลับที่เข้ารหัส base64 |
header="<base64>" |
ส่วนหัวการตอบกลับที่กำหนดเองที่เข้ารหัส base64 (รูปแบบ Key:Value\n) |
ต้องระบุอย่างน้อยหนึ่งอย่างจาก
data=หรือbase64=Notice: เมื่อแยกวิเคราะห์
header=ช่องว่างทั้งหมดจะถูกตัดออก และแต่ละบรรทัดต้องอยู่ในรูปแบบKey:Valueที่มีเครื่องหมายทวิภาคเพียงตัวเดียวเท่านั้น ค่าส่วนหัวที่มีเครื่องหมายทวิภาคอยู่ภายใน (เช่น URL) จะถูกตัดทิ้งโดยไม่มีการแจ้งเตือน และช่องว่างภายในค่าจะสูญหายไป
ตัวแปรเทมเพลต
เมื่อใช้ data= หรือ base64= เนื้อหาการตอบกลับรองรับการแทนที่ตัวแปรเทมเพลต:
| ตัวแปร | แทนที่ด้วย |
|---|---|
{{url}} |
เส้นทาง URL คำขอแบบเต็ม |
{{host}} |
ชื่อโฮสต์ของคำขอ |
{{path}} |
เส้นทาง URL สัมพัทธ์ |
{{method}} |
เมธอด HTTP |
{{ua}} |
ค่าส่วนหัว User-Agent |
ตัวอย่างไฟล์ตอบกลับจำลอง (response.json):
{
"requested_url": "{{ "{{url}}" }}",
"host": "{{ "{{host}}" }}",
"method": "{{ "{{method}}" }}"
}
หมายเหตุ: สำหรับคำขอ HTTPS ต้องเปิดใช้งานการถอดรหัส MitM สำหรับชื่อโฮสต์ที่ตรงกัน กฎการจำลองสำหรับทราฟฟิก HTTPS ที่ไม่มี MitM จะถูกละเว้น
หน้านี้เป็นฉบับแปลจากเวอร์ชันภาษาอังกฤษ หากเนื้อหาไม่ตรงกัน ให้ยึดเวอร์ชันภาษาอังกฤษเป็นหลัก