---
title: "Node.js User Agent Guide: Einrichten und Ändern"
slug: node-js-user-agent
date: 2026-02-18T06:45:05+00:00
modified: 2026-02-18T06:45:07+00:00
permalink: https://brightdata.de/blog/web-data-de/node-js-user-agent
type: blog
---

[ Blog ](https://brightdata.de/blog "Blog") / [Web Data](https://brightdata.de/blog/web-data-de)







 [Web Data](https://brightdata.de/blog/web-data-de)

# Node.js User Agent Guide: Einrichten und Ändern

Entdecken Sie, wie wichtig es ist, User-Agent-Header festzulegen, den Standard-User-Agent in Node.js und wie Sie User-Agent-Rotation implementieren können, um Anti-Bot-Erkennung zu umgehen.

 10 min lesen





 [ ![Antonello Zanini](https://media.brightdata.de/2022/12/Antonello-Zanini-2-50x50.jpg) ](https://brightdata.com/blog/authors/antonello-zanini)

 [Antonello Zanini

Technical Writer

 ](https://brightdata.com/blog/authors/antonello-zanini)





 ![Node.js User Agent Guide hero image](https://media.brightdata.de/2024/08/Node.js-User-Agent-Guide.svg)





In dieser Anleitung zur Node.js-User-Agent-Einstellung erfahren Sie:

- Warum es wichtig ist, den `User-Agent-Header` festzulegen
- Wie der Standard-User-Agent in Node.js aussieht
- Wie Sie einen User-Agent mit der Fetch-API einstellen
- Wie Sie die User-Agent-Rotation in Node.js implementieren

Lassen Sie uns loslegen!

## Warum das Setzen eines User-Agents so wichtig ist

Der [`User-Agent-Header`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) ist eine Zeichenfolge, die die Client-Software identifiziert, die eine HTTP-Anfrage stellt. Er enthält in der Regel Details zum Browser oder zur Anwendung, zum Betriebssystem und zur Systemarchitektur, von der die Anfrage stammt. Dieser Header wird normalerweise von Webbrowsern, HTTP-Clients oder jeder Software, die Webanfragen ausführt, gesetzt.

Dies ist beispielsweise der aktuelle User-Agent, der von Chrome beim Abrufen von Seiten festgelegt wird:

```none
`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36`
```

Nachfolgend finden Sie eine Aufschlüsselung der Komponenten in dieser User-Agent-Zeichenfolge:

- `Mozilla/5.0`: Ursprünglich wurde dieses Präfix verwendet, um die Kompatibilität mit Mozilla-Browsern anzuzeigen, heute wird es aus Kompatibilitätsgründen hinzugefügt.
- `Windows NT 10.0; Win64; x64:` Gibt das Betriebssystem (`Windows NT 10.0`), die Plattform (`Win64`) und die Systemarchitektur (`x64`) an.
- `AppleWebKit/537.36`: Bezieht sich auf die Browser-Engine, die Chrome verwendet.
- (`KHTML, like Gecko`): Zeigt die Kompatibilität mit den Layout-Engines KHTML und Gecko an.
- `Chrome/127.0.0.0`: Gibt den Namen und die Version des Browsers an.
- `Safari/537.36`: Gibt die Kompatibilität mit Safari an.

Im Wesentlichen kann der User Agent offenlegen, ob die Anfrage von einem vertrauenswürdigen Browser oder einer anderen Art von Software stammt.

[Web-Scraping-Bots](/blog/how-tos/what-is-a-scraping-bot) und Automatisierungsskripte verwenden häufig Standard- oder Nicht-Browser-User-Agent-Strings. Diese können ihre automatisierte Natur gegenüber Anti-Bot-Systemen offenlegen, die Webdaten durch Überprüfung eingehender Anfragen schützen. Durch die Analyse des `User-Agent-Headers` können diese Lösungen erkennen, ob die Anfrage von einem echten Benutzer oder einem Bot stammt.

Weitere Informationen finden Sie in unserem Leitfaden zu [User Agents für Web-Scraping](/blog/how-tos/user-agents-for-web-scraping-101).

## Was ist der Standard-User-Agent von Node.js?

Ab Version 18 enthält Node.js die Methode [`fetch()`](https://nodejs.org/dist/latest/docs/api/globals.html) als integrierte Implementierung der [Fetch-API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). Dies ist die empfohlene Methode zum Ausführen von HTTP-Anfragen in Node.js, da sie keine externen Abhängigkeiten erfordert. Erfahren Sie mehr darüber, wie Sie [HTTP-Anfragen in Node.js mit der Fetch-API](/blog/how-tos/fetch-api-nodejs) erstellen.

Wie die meisten anderen HTTP-Clients setzt `fetch()` bei der Erstellung einer Anfrage automatisch einen `Standard-User-Agent-Header`. Dasselbe geschieht beispielsweise in der [ `Python-Requests-Bibliothek`](/faqs/python-requests/what-is-python-requests).

Insbesondere lautet der von `fetch()` festgelegte Standard-User-Agent für Node.js:

```none
`node`
```

Sie können dies überprüfen, indem Sie eine GET-Anfrage an den Endpunkt [`httpbin.io/user-agent`](https://httpbin.io/user-agent) senden. Dieser Endpunkt gibt den `User-Agent-` Header der eingehenden Anfrage zurück und hilft Ihnen so, den von einem HTTP-Client festgelegten User-Agent zu ermitteln.

Erstellen Sie ein Node.js-Skript, definieren Sie eine [`asynchrone`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function) Funktion und verwenden Sie `fetch()`, um die gewünschte HTTP-Anfrage zu stellen:

```none
async function getFetchDefaultUserAgent() {

// eine HTTP-Anfrage an den HTTPBin-Endpunkt senden

// um den User-Agent abzurufen

const response = await fetch("https://httpbin.io/user-agent");

// Lesen Sie den Standard-User-Agent aus der Antwort aus

// und geben Sie ihn aus

const data = await response.json();

console.log(data);

}

getFetchDefaultUserAgent();
```

Führen Sie den obigen JavaScript-Code aus, und Sie erhalten die folgende Zeichenfolge:

```none
`{ 'user-agent': 'node' }`
```

Wie Sie sehen können, ist der von `fetch()` in Node.js festgelegte User-Agent einfach `node`. Diese Zeichenfolge unterscheidet sich erheblich von den von Browsern verwendeten User-Agents, die [Anti-Bot-Systeme](/webinar/bot-detection) auslösen können.

Anti-Bot-Lösungen überwachen eingehende Anfragen auf verdächtige Muster, wie z. B. ungewöhnliche User-Agent-Zeichenfolgen. Sobald sie erkannt werden, markieren sie die Anfrage als von einem Bot stammend und blockieren sie. Aus diesem Grund ist es wichtig, den Standardwert des Node.js-User-Agents zu ändern, um nicht markiert zu werden!

## So ändern Sie den Node.js-User-Agent mithilfe der Fetch-API

Die Fetch-API-Spezifikation bietet keine spezifische Methode zum Ändern des User-Agents. Gleichzeitig ist `User-Agent` nichts anderes als ein HTTP-Header. Das bedeutet, dass Sie seinen Wert mit den [`fetch()` -Header-Optionen](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#setting_headers) anpassen können.

Erfahren Sie, wie Sie den `User-Agent-Header` in Node.js mit `fetch()` festlegen können!

**Benutzeragenten lokal festlegen**

`fetch()` unterstützt die Anpassung von Headern über die Option `„headers` ”. Verwenden Sie diese Option, um den `User-Agent` -Header bei einer bestimmten HTTP-Anfrage wie folgt festzulegen:

```none
const response = await fetch("https://httpbin.io/user-agent", {

headers: {

"User-Agent":

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",

},

});
```

Wenn Sie alles zusammenfügen, erhalten Sie:

```none
async function getFetchUserAgent() {

// HTTP-Anfrage an HTTPBin senden

// mit einem benutzerdefinierten User-Agent

const response = await fetch("https://httpbin.io/user-agent", {

headers: {

"User-Agent":

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",

},

});

// Den Standard-User-Agent aus der Antwort lesen

// und ausgeben

const data = await response.json();

console.log(data);

}

getFetchUserAgent();
```

Starten Sie das obige Skript, und dieses Mal lautet das Ergebnis:

```none
{

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36'

}
```

Fantastisch! Der von der API zurückgegebene User Agent stimmt mit dem im Code konfigurierten User Agent überein. Jetzt wissen Sie, wie Sie den Node.js-User Agent ändern können.

**Benutzeragenten global festlegen**

Das Festlegen des `User-Agents` für jede einzelne Anfrage ist unkompliziert, kann jedoch zu sich wiederholendem Boilerplate-Code führen. Was ist, wenn Sie den Standard-Node.js-User-Agent global ändern möchten? Leider bietet die `fetch()` -API zum Zeitpunkt der Erstellung dieses Artikels keine Möglichkeit, ihre Standardeinstellungen global zu überschreiben.

Sie können jedoch eine Wrapper-Funktion erstellen, um das Verhalten `von fetch()` mit Ihren gewünschten Konfigurationen anzupassen:

```none
function customFetch(url, options = {}) {

// benutzerdefinierte Header

const customHeaders = {

"User-Agent":

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",

...options.headers, // mit allen anderen in den Optionen übergebenen Headern zusammenführen

};

const mergedOptions = {

...options,

headers: customHeaders,

};

return fetch(url, mergedOptions);

}
```

Sie können nun eine HTTP-Anfrage mit einem benutzerdefinierten User-Agent stellen, indem Sie `customFetch()` anstelle von `fetch()` aufrufen:

```none
const response = await customFetch("https://httpbin.io/user-agent");
```

Das vollständige Node.js-Skript lautet:

```none
function customFetch(url, options = {}) {

// einen benutzerdefinierten User-Agent-Header hinzufügen

const customHeaders = {

"User-Agent":

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",

...options.headers, // mit allen anderen in den Optionen übergebenen Headern zusammenführen

};

const mergedOptions = {

...options,

headers: customHeaders,

};

return fetch(url, mergedOptions);

}

async function getFetchUserAgent() {

// HTTP-Anfrage an HTTPBin senden

// über den benutzerdefinierten Fetch-Wrapper

const response = await customFetch("https://httpbin.io/user-agent");

// Standard-User-Agent aus der Antwort lesen

// und ausgeben

const data = await response.json();

console.log(data);

}

getFetchUserAgent();
```

Starten Sie das oben stehende Node.js-Skript, und es wird Folgendes ausgegeben:

```none
{

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36'

}
```

Großartig! Sie haben gerade gelernt, wie Sie mit `fetch()` einen globalen User-Agent in Node.js festlegen können.

## Implementieren Sie User-Agent-Rotation in Node.js

Das Überschreiben des `Standard-User-Agent-Headers` eines HTTP-Clients mit dem eines echten Browsers reicht möglicherweise nicht aus, um die Anti-Bot-Erkennung zu umgehen. Wenn Sie zu viele Anfragen von derselben IP-Adresse mit demselben User-Agent senden, können Anti-Scraping-Systeme Ihre Aktivitäten dennoch als automatisiert identifizieren. Das Problem ist, dass Ihre Anfragen weiterhin auf nicht-menschliches Verhalten hindeuten.

Um das Risiko einer Bot-Erkennung in Node.js zu verringern, sollten Sie Ihre HTTP-Anfragen variieren. Eine effektive Technik ist die User-Agent-Rotation, bei der der `User-Agent-Header` bei jeder Anfrage geändert wird. Durch diesen Ansatz scheinen Ihre automatisierten Anfragen von verschiedenen Browsern zu stammen, wodurch sie weniger wahrscheinlich von Anti-Bot-Systemen markiert werden.

Im folgenden Abschnitt erfahren Sie, wie Sie die User-Agent-Rotation in Node.js erreichen können!

**Schritt 1: Liste der User Agents abrufen**

Besuchen Sie eine Website wie [WhatIsMyBrowser.com](https://www.whatismybrowser.com/guides/the-latest-user-agent/) und erstellen Sie eine Liste mit einigen gültigen User-Agent-Werten:

```none
const userAgents = [

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",

„Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0”,

„Mozilla/5.0 (Macintosh; Intel Mac OS X 14_6) AppleWebKit/605.1.15 (KHTML, wie Gecko) Version/17.5 Safari/605.1.15”,

„Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/126.0.2592.113”,

// andere User Agents...

];
```

**Tipp**: Je mehr reale User-Agent-Strings dieses Array enthält, desto besser lässt sich eine Anti-Bot-Erkennung vermeiden.

**Schritt 2: Zufällige Auswahl eines User Agents**

Erstellen Sie eine Funktion, die zufällig einen User-Agent-String aus der Liste auswählt und zurückgibt:

```none
function getRandomUserAgent() {

const userAgents = [

// User Agents der Kürze halber weggelassen...

];

// einen User Agent zufällig zurückgeben,

// der aus der Liste extrahiert wurde

return userAgents[Math.floor(Math.random() * userAgents.length)];

}
```

Schauen wir uns einmal genauer an, was in dieser Funktion passiert:

- [`Math.random()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random) generiert eine Zufallszahl zwischen 0 und 1
- Diese Zahl wird dann mit der Länge des Arrays `userAgents` multipliziert.
- [`Math.floor()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor) rundet die resultierende Zahl auf die größte ganze Zahl ab, die kleiner oder gleich dieser Zahl ist.
- Die aus den vorherigen Operationen resultierende Zahl entspricht einem zufällig generierten Index, der von 0 bis `userAgents.length - 1` reicht.
- Der Index wird dann verwendet, um einen zufälligen User-Agent aus dem Array der User-Agents zurückzugeben.

Jedes Mal, wenn Sie die Funktion `getRandomUserAgent()` aufrufen, erhalten Sie wahrscheinlich einen anderen User Agent.

**Schritt 3: Erstellen Sie die HTTP-Anfrage mit einem zufälligen User-Agent**

Um die User-Agent-Rotation in Node.js mit `fetch()` zu implementieren, setzen Sie den `User-Agent` -Header mit dem Wert aus der Funktion `getRandomUserAgent()`:

```none
const response = await fetch("https://httpbin.io/user-agent", {

headers: {

"User-Agent": getRandomUserAgent(),

},

});
```

Die über die Fetch-API ausgeführte HTTP-Anfrage verfügt nun über einen zufälligen User-Agent.

**Schritt 4: Alles zusammenfügen**

Fügen Sie die Snippets der vorherigen Schritte zu einem Node.js-Skript hinzu und verpacken Sie dann die Logik für die Erstellung einer `fetch()` -Anfrage in eine `asynchrone` Funktion.

So sollte Ihr endgültiges Node.js-Skript zur Rotation von User-Agents aussehen:

```none
function getRandomUserAgent() {

const userAgents = [

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",

"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0",

„Mozilla/5.0 (Macintosh; Intel Mac OS X 14_6) AppleWebKit/605.1.15 (KHTML, wie Gecko) Version/17.5 Safari/605.1.15”,

„Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/126.0.2592.113”,

// andere User Agents...

];

// einen zufälligen User-Agent zurückgeben,

// der aus der Liste extrahiert wurde

return userAgents[Math.floor(Math.random() * userAgents.length)];

}

async function getFetchUserAgent() {

// eine HTTP-Anfrage mit einem zufälligen User-Agent erstellen

const response = await fetch("https://httpbin.io/user-agent", {

headers: {

"User-Agent": getRandomUserAgent(),

},

});

// den Standard-User-Agent aus der Antwort lesen

// und ausgeben

const data = await response.json();

console.log(data);

}

getFetchUserAgent();
```

Führen Sie das Skript drei- oder viermal aus. Statistisch gesehen sollten Sie verschiedene User-Agent-Antworten wie unten sehen:

![different user agent responses](https://media.brightdata.de/2024/08/different-user-agent-responses.png)Dies zeigt, dass die User-Agent-Rotation effektiv funktioniert.

Et voilà! Sie sind nun in der Lage, User Agents in Node.js mithilfe der Fetch-API festzulegen.

## Fazit

In diesem Tutorial haben Sie gesehen, warum Sie den `User-Agent-Header` festlegen sollten und wie der Standard-Node.js-User-Agent in fetch() aussieht. Sie haben auch erfahren, wie Sie diesen Wert überschreiben und die User-Agent-Rotation in Node.js implementieren können, um grundlegende Anti-Scraping-Systeme zu umgehen. Fortgeschrittenere Systeme können Ihre automatisierten Anfragen jedoch weiterhin erkennen und blockieren. Um IP-Sperren zu vermeiden, können Sie [in Node.js einen Proxy konfigurieren](/blog/proxy-101/proxy-in-node-fetch), aber selbst das reicht möglicherweise nicht immer aus!

Für eine robustere Lösung sollten Sie [die Web Scraper API](/products/web-scraper)in Betracht ziehen – einen Scraping-Dienst der nächsten Generation, der automatisierte Webanfragen in Node.js oder jeder anderen Technologie vereinfacht. Er umgeht Anti-Scraping-Maßnahmen effektiv durch Funktionen wie IP- und User-Agent-Rotation und macht Web-Scraping einfacher denn je.

Melden Sie sich jetzt an und finden Sie das beste Produkt für Ihre Projekte. Starten Sie noch heute die Gratis-Testversion!



Vertrieb kontaktierenGratis testen![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Inhaltsverzeichnis







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

[See pricing](/pricing/web-scraper "See pricing")

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Node.js+User+Agent+Guide%3A+Einrichten+und+%C3%84ndern&u=https://brightdata.de/blog/web-data-de/node-js-user-agent) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Node.js+User+Agent+Guide%3A+Einrichten+und+%C3%84ndern&url=https://brightdata.de/blog/web-data-de/node-js-user-agent) [ ](http://www.reddit.com/submit?title=Node.js+User+Agent+Guide%3A+Einrichten+und+%C3%84ndern&url=https://brightdata.de/blog/web-data-de/node-js-user-agent)







##  Das könnte Sie auch interessieren

 [ ![cURL User Agent Guide blog image](https://media.brightdata.de/2024/05/cURL-User-Agent-Guide.svg) ](https://brightdata.de/blog/web-data-de/curl-user-agent "cURL User Agent Guide: Einrichten und Ändern")

 [Web Data



 ![Antonello Zanini](https://media.brightdata.de/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### cURL User Agent Guide: Einrichten und Ändern

Erfahren Sie, wie Sie den User-Agent-Header in cURL einstellen und ändern können, um Ihre Web-Scraping-Bemühungen zu verbessern.



 22-Feb-2026

 9 min lesen

 ](https://brightdata.de/blog/web-data-de/curl-user-agent)

 [ ![Selenium User Agent Guide Setting and Changing](https://media.brightdata.de/2024/06/Selenium-User-Agent-Guide_-Setting-and-Changing.svg) ](https://brightdata.de/blog/web-data-de/selenium-user-agent "Selenium-User-Agent-Leitfaden: Einstellung und Änderung")

 [Web Data



 ![Antonello Zanini](https://media.brightdata.de/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Selenium-User-Agent-Leitfaden: Einstellung und Änderung

Erfahren Sie, wie Sie den User-Agent-Header in Selenium einstellen und rotieren, um Ihre Web-Scraping-Funktionen zu verbessern und Anti-Bot-Maßnahmen zu umgehen.



 09-Jun-2024

 11 min lesen

 ](https://brightdata.de/blog/web-data-de/selenium-user-agent)

 [ ![Requests User Agent Guide blog image](https://media.brightdata.de/2024/06/Requests-User-Agent-Guide_-Setting-and-Changing.svg) ](https://brightdata.de/blog/web-data-de/requets-user-agent "Python-Requests-User-Agent-Leitfaden: Einstellung und Änderung")

 [Web Data



 ![Antonello Zanini](https://media.brightdata.de/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Python-Requests-User-Agent-Leitfaden: Einstellung und Änderung

Lassen Sie sich nicht länger von Anti-Bot-Systemen blockieren! In diesem Tutorial lernen Sie, den User-Agent-Header in Python-Requests für sicheres und erfolgreiches Web Scraping einzustellen und zu rotieren.



 04-Jun-2024

 9 min lesen

 ](https://brightdata.de/blog/web-data-de/requets-user-agent)
