Node.js url Modülü

Yazıda Node.js web adresi ile ilgili işlemlerde kullanılan url modülü ile ilgili bilgiler yer almaktadır.

Node.js sunucu taraflı JavaScript kodlarının yazılmasına imkan vermesinin yanı sıra çoğunlukla web sayfaları ile işlem yapmak için kullanılır.

Web adresi protokol (http), host (yusufsezer.com.tr), port (:80) vb. parçaların bir araya gelmesiyle oluşur.

Node.js içerisinde bulunan url modülü web adresini parçalara ayırarak daha anlamlı olmasını sağlar.

Projeye url modülünü dahil etmek için aşağıdaki sözdizimi kullanılır.

const url = require('url');

url.parse()

Parametre olarak aldığı web adresini parçalara ayırarak nesneye dönüştürür.

'use strict';

const url = require('url');

let adres = url.parse('https://user:pass@sub.host.com:1453/p/a/t/h?query=string&query1=text#hash');

console.log(adres);

Kodlar çalıştırıldığında aşağıdaki gibi bir sonuç verecektir.

node index.js
Url {
  protocol: 'https:',
  slashes: true,
  auth: 'user:pass',
  host: 'sub.host.com:1453',
  port: '1453',
  hostname: 'sub.host.com',
  hash: '#hash',
  search: '?query=string&query1=text',
  query: 'query=string&query1=text',
  pathname: '/p/a/t/h',
  path: '/p/a/t/h?query=string&query1=text',
  href: 'https://user:pass@sub.host.com:1453/p/a/t/h?query=string&query1=text#hash' }

Metodun ikinci parametresine true değeri verilirse adres son ekindeki değerlerin bulunduğu query özelliği nesne türü olur.

'use strict';

const url = require('url');

let adres = url.parse('https://user:pass@sub.host.com:1453/p/a/t/h?query=string&query1=text#hash', true);

console.log(adres);

Kodlar çalıştırıldığında aşağıdaki gibi bir sonuç verecektir.

node index.js
Url {
  protocol: 'https:',
  slashes: true,
  auth: 'user:pass',
  host: 'sub.host.com:1453',
  port: '1453',
  hostname: 'sub.host.com',
  hash: '#hash',
  search: '?query=string&query1=text',
  query: { query: 'string', query1: 'text' },
  pathname: '/p/a/t/h',
  path: '/p/a/t/h?query=string&query1=text',
  href: 'https://user:pass@sub.host.com:1453/p/a/t/h?query=string&query1=text#hash' }

Metot dönüş değeri olarak nesne vereceğinden nesne içerisindeki istenilen değere erişilebilir.

'use strict';

const url = require('url');

let adres = url.parse('https://user:pass@sub.host.com:1453/p/a/t/h?query=string&query1=text#hash', true);

console.log(adres.hostname);

Kodlar çalıştırıldığında aşağıdaki gibi bir sonuç verecektir.

node index.js
sub.host.com

url.format()

Parametre olarak aldığı nesne değerlerine göre bir url verir.

'use strict';

const url = require('url');

let adres = url.format({
  protocol: 'http',
  hostname: 'localhost',
  port: '1453',
  pathname: 'index.html'
});

console.log(adres);

Kodlar çalıştırıldığında aşağıdaki gibi bir sonuç verecektir.

node index.js
http://localhost:1453/index.html

url.resolve()

Parametre ile verilen adresin kök dizinden itibaren adresini verir.

'use strict';

const url = require('url');

let adres = url.resolve('http://localhost:1453/proje/dosyalar/css', '/proje/resimler');

console.log(adres);

Yazılan kodlar çalıştırıldığında aşağıdaki gibi bir sonuç verecektir.

node index.js
http://localhost:1453/proje/resimler

Node.js url metodu http modülü ile birlikte kullanıcı isteklerini daha iyi yönetmek amacıyla kullanılır.

Node.js Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!