โมดูล URL
การใช้โมดูล URL นั้นสูงมากเมื่อจัดการคำขอ HTTP เนื่องจากโมดูลอนุญาตให้ URL แยกวิเคราะห์การสร้าง URL และ URL ที่มีการประกบกัน ก่อนอื่นมาดูส่วนประกอบของ URL ที่สมบูรณ์
การคัดลอกรหัสมีดังนี้:
href
-
เส้นทางโฮสต์
-
http: // user: pass @ host.com: 8080/p/a/t/h? query = string #hash
-
โปรโตคอล Auth Auth HostName Port ชื่อพา ธ การค้นหาแฮช
-
สอบถาม
เราสามารถใช้วิธี. parse เพื่อแปลงสตริง URL เป็นวัตถุ URL ดังที่แสดงด้านล่าง
การคัดลอกรหัสมีดังนี้:
url.parse ('http: // ผู้ใช้: [email protected]: 8080/p/a/t/h? query = string#hash');
-
{โปรโตคอล: 'http:',
รับรองความถูกต้อง: 'ผู้ใช้: ผ่าน',
โฮสต์: 'host.com:8080'
พอร์ต: '8080',
ชื่อโฮสต์: 'host.com',
แฮช: '#hash',
ค้นหา: '? query = string',
แบบสอบถาม: 'Query = String'
PathName: '/P/A/T/H'
เส้นทาง: '/p/a/t/h? query = string'
href: 'http: // ผู้ใช้: [email protected]: 8080/p/t/h? query = string#hash'}
-
วิธี. parse ไม่จำเป็นต้องเป็น URL ที่สมบูรณ์ ตัวอย่างเช่นในฟังก์ชั่นการโทรกลับเซิร์ฟเวอร์ HTTP request.url ไม่มีส่วนหัวโปรโตคอลและชื่อโดเมน แต่ยังสามารถแยกวิเคราะห์ได้โดยใช้วิธี. parse
การคัดลอกรหัสมีดังนี้:
http.createserver (ฟังก์ชั่น (คำขอ, การตอบกลับ) {
var tmp = request.url; // => "/foo/bar? a = b"
url.parse (TMP);
-
{โปรโตคอล: null,
Slashes: Null,
Auth: Null,
โฮสต์: null,
พอร์ต: null,
ชื่อโฮสต์: null,
แฮช: เป็นโมฆะ
ค้นหา: '? a = b',
แบบสอบถาม: 'a = b',
Pathname: '/foo/bar'
เส้นทาง: '/foo/bar? a = b',
href: '/foo/bar? a = b'}
-
}). ฟัง (80);
วิธี. parse ยังรองรับพารามิเตอร์ตัวเลือกประเภทบูลีนที่สองและสาม เมื่อพารามิเตอร์ที่สองเท่ากับจริงฟิลด์คิวรีในวัตถุ URL ที่ส่งคืนโดยวิธีการไม่ได้เป็นสตริงอีกต่อไป แต่วัตถุพารามิเตอร์ที่ถูกแปลงโดยโมดูล QueryString เมื่อพารามิเตอร์ที่สามเท่ากับจริงวิธีนี้สามารถแยกวิเคราะห์ URL ได้อย่างถูกต้องโดยไม่มีส่วนหัวโปรโตคอลเช่น //www.example.com/foo/bar
วิธีการจัดรูปแบบจะอนุญาตให้แปลงวัตถุ URL เป็นสตริง URL ดังที่แสดงด้านล่าง
การคัดลอกรหัสมีดังนี้:
url.format ({
โปรโตคอล: 'http:',
โฮสต์: 'www.example.com'
PathName: '/P/A/T/H'
ค้นหา: 'query = string'
-
-
'http://www.example.com/p/a/t/h?query=string'
-
นอกจากนี้วิธี. RESOLVE สามารถใช้เพื่อแยก URL ดังที่แสดงด้านล่าง
การคัดลอกรหัสมีดังนี้:
url.resolve ('http://www.example.com/foo/bar', '../baz');
-
http://www.example.com/baz
-
สตริงแบบสอบถาม
โมดูล QueryString ใช้ในการแปลงสตริงพารามิเตอร์ URL และวัตถุพารามิเตอร์ดังที่แสดงด้านล่าง
การคัดลอกรหัสมีดังนี้:
querystring.parse ('foo = bar & baz = qox & baz = quux & corge');
-
{foo: 'bar', baz: ['qox', 'quux'], corge: ''}
-
querystring.stringify ({foo: 'bar', baz: ['qox', 'quux'], corge: ''});
-
'foo = bar & baz = qox & baz = quux & corge ='
-