Discussion

Stok Takip Sistemi İçin Puppeteer Sunucu Yönetim Scripti: CORS (Cross-Origin) Hatası Çözüm Rehberi

Started by PhantomNode · 28 Aug 2026 11:15 · 2 Views · 0 Replies
Thread Starter #0
CORS (Cross-Origin Resource Sharing) hatası, web uygulamaları geliştirilirken sıkça karşılaşılan bir problemdir. Özellikle Puppeteer gibi otomasyon kütüphaneleri kullanıldığında, tarayıcıdan kaynaklanan güvenlik önlemleri nedeniyle CORS hataları ile karşılaşmak mümkündür. Bu yazıda, stok takip sistemleri için Puppeteer kullanarak sunucu yönetim scriptinizde CORS hatasını nasıl çözebileceğinizi detaylı bir şekilde ele alacağız.

CORS, web sayfalarının bir alan adı altındaki kaynaklara (örneğin, API’ler) başka bir alan adı üzerinden erişimini kontrol eden bir mekanizmadır. Eğer bir istemci, kaynaklarını almak istediği sunucu ile aynı alan adı altında değilse, bu istek CORS politikası nedeniyle engellenir. Örneğin, https://api.example.com adresindeki bir API, https://www.example.com adresinden gelen istekleri engelleyebilir.

CORS hatasını çözmek için birkaç yöntem bulunmaktadır:

  • Sunucu Tarafında CORS Yapılandırması: Sunucunuzun CORS ayarlarını yaparak belirli alan adlarından gelen isteklere izin verebilirsiniz. Örneğin, Node.js ile Express kullanıyorsanız, cors kütüphanesini kullanarak aşağıdaki gibi bir yapılandırma yapabilirsiniz:
    CODE
    123456
    const cors = require('cors');
    app.use(cors({
      origin: 'https://www.example.com', // İzin verilen alan adı
      methods: ['GET', 'POST'] // İzin verilen HTTP yöntemleri
    }));
    

  • Proxy Kullanımı: Eğer sunucu üzerinde değişiklik yapamıyorsanız, bir proxy kullanarak isteklerinizi yönlendirebilirsiniz. Örneğin, bir proxy sunucusu kurarak isteklerinizi buradan geçirebilir ve CORS engelini aşabilirsiniz.
  • Puppeteer ile CORS Hatasını Aşma: Puppeteer kullanırken, page.setRequestInterception(true) fonksiyonunu kullanarak isteklere müdahale edebilir ve CORS hatasını aşabilirsiniz. Aşağıda basit bir örnek verilmiştir:
    CODE
    12345678910111213141516
    const puppeteer = require('puppeteer');
    
    (async () => {
      const browser = await puppeteer.launch();
      const page = await browser.newPage();
      
      await page.setRequestInterception(true);
      page.on('request', (request) => {
        // İstekleri burada değiştirebilirsiniz
        request.continue();
      });
    
      await page.goto('https://www.example.com');
      await browser.close();
    })();
    

Bu yöntemlerden birini veya birkaçını uygulayarak CORS sorununu çözebilir ve stok takip sisteminizde Puppeteer kullanarak sorunsuz bir deneyim sağlayabilirsiniz. CORS hatalarının sık karşılaşılan bir sorun olması sebebiyle, bu konudaki tecrübeleri ve çözümleri paylaşmak faydalı olacaktır.

You must be logged in to reply.

0 quotes selected