Ana içeriğe geç

Node http request

http request düğümü, dış web hizmetlerine veya API'lere HTTP istekleri gerçekleştirmek için tasarlanmıştır. Birden fazla HTTP yöntemi, veri türleri, kimlik doğrulama ve isteklerin ve yanıtların esnek yönetimini destekler.


http request düğümü için ayarlar

IMG2

1. İsim

Düğümün adını belirtmek için bir alan.
İsim, çalışma alanında görüntülenir ve düğümü kolayca tanımlamaya yardımcı olur.
Boş bırakılırsa, düğüm http request olarak adlandırılacaktır.

Örnek:

  • Düğüm adı: Hava Durumu Verilerini Al

2. Yöntem

İstek için kullanılacak HTTP yöntemi. Yöntem seçimi, gerçekleştirilmesi gereken işlem türüne bağlıdır.

Mevcut yöntemler:

  • GET: Veri al.
  • POST: Veri gönder.
  • PUT: Veriyi güncelle.
  • DELETE: Veriyi sil.
  • PATCH: Veriyi kısmen güncelle.
  • HEAD: Yanıt başlıklarını al.
  • OPTIONS: API hakkında bilgi al.

Örnek:

  • Yöntem: POST

3. Bağlantı

İsteğin gönderileceği statik bir URL belirtmek için bir alan.
Adres dinamik olarak ayarlanacaksa, msg.url içinde geçirilebilir.

Örnek:

  • Bağlantı: https://api.example.com/data

4. Veri

Giriş verilerinin HTTP isteğine nasıl ekleneceğini tanımlar. Aşağıdaki seçenekler mevcuttur:

  1. Yoksay:
    Giriş verileri istekte kullanılmayacaktır. msg.payload varsa, yoksayılacaktır.

    Örnek:
    Eğer msg.payload bir JSON nesnesi içeriyorsa, istek içinde yer almayacaktır.


  1. Sorgu parametrelerine ekle:
    msg.payload içindeki veriler sorgu parametrelerine dönüştürülecek ve URL'ye eklenecektir.

    Örnek:
    Eğer msg.payload şunları içeriyorsa:

    {
    "key1": "value1",
    "key2": "value2"
    }

    Eğer Bağlantı http://example.com/api olarak belirtilmişse, son istek şöyle olacaktır:
    GET http://example.com/api?key1=value1&key2=value2.


  1. İstek gövdesi olarak gönder:
    msg.payload içindeki veriler isteğin gövdesinde gönderilecektir. Bu seçenek, verilerin genellikle gövde içinde gönderildiği POST, PUT ve PATCH gibi yöntemler için uygundur.

    Örnek:
    Eğer msg.payload şunları içeriyorsa:

    {
    "name": "John Doe",
    "email": "john.doe@example.com"
    }

    Eğer istek yöntemi POST ise, veriler uygun içerikle isteğin gövdesinde gönderilecektir.

5. Dönüş

Düğümün sunucudan gelen yanıtı hangi formatta işleyeceğini tanımlar.

Seçenekler:

  • UTF-8 dizesi: Yanıt bir dizeye dönüştürülür (varsayılan).
  • Buffer: Yanıt bir Buffer nesnesi olarak döndürülür (görüntüler veya dosyalar gibi ikili veriler için yararlıdır).
  • JSON: Sunucu yanıtı JSON formatındaysa, otomatik olarak bir JavaScript nesnesine dönüştürülür.

Örnek:

  • Eğer JSON seçilirse, yanıt:
    {"status": "ok", "value": 42}
    şu şekilde dönüştürülür:
    msg.payload = { status: "ok", value: 42 };

6. Kimlik Doğrulama

Düğüm, yerleşik kimlik doğrulama mekanizmalarını destekler.

Temel Kimlik Doğrulama

  • Kullanıcı Adı: Kullanıcı adı.
  • Şifre: Şifre.

Bearer Token

  • Token: Erişim belirteci.

Digest

  • Kullanıcı Adı: Kullanıcı adı.
  • Şifre: Şifre.

Giriş Verileri

http request düğümü, aşağıdaki parametrelerle bir mesaj nesnesi msg kabul eder:

  1. msg.url: İstek için URL (düğüm ayarlarında belirtilmemişse).
  2. msg.method: HTTP yöntemi (düğüm ayarlarında ayarlanmamışsa).
  3. msg.payload: İsteğin gövdesi (kullanılan POST, PUT, PATCH yöntemleri için).
  4. msg.headers: HTTP istek başlıkları (nesne).

Çıkış Verileri

Düğüm, gerçekleştirilen istek hakkında bilgi içeren bir msg nesnesi döndürür:

  1. msg.payload: Sunucudan gelen veri yanıtı.
  2. msg.statusCode: Yanıtın HTTP durum kodu (örneğin, 200 veya 404).
  3. msg.headers: Yanıt başlıkları.
  4. msg.responseUrl: İsteğin yapıldığı URL.
  5. msg.error: Hata açıklaması (istek başarısız olduysa).

Kullanım Örnekleri

Örnek 1: GET isteği gerçekleştirme

Düğüm ayarları:

  • Yöntem: GET
  • URL: https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London

Akış:

[inject] ---> [http request] ---> [debug]

Sonuç: Düğüm, mevcut hava durumu ile ilgili JSON döndürecektir.


Örnek 2: POST ile veri gönderme

Düğüm ayarları:

  • Yöntem: POST
  • URL: https://api.example.com/devices
  • Veri: JSON

Akış:

[function] ---> [http request] ---> [debug]

function düğümündeki kod:

msg.payload = {
deviceId: "sensor123",
status: "active"
};
msg.headers = { "Content-Type": "application/json" };
return msg;

Sonuç: Veri gönderilecek ve düğüm sunucunun yanıtını döndürecektir.


Örnek 3: Dinamik URL ve kimlik doğrulama

Düğüm ayarları:

  • URL: (boş bırakın)

Akış:

[function] ---> [http request] ---> [debug]

function düğümündeki kod:

msg.url = "https://api.example.com/user/123";
msg.headers = { Authorization: "Bearer YOUR_TOKEN" };
return msg;

Sonuç: Düğüm, belirtilen URL'ye kimlik doğrulama belirteci ile istek yapacaktır.