---
title: "Python-Requests-User-Agent-Leitfaden: Einstellung und Änderung"
slug: requets-user-agent
date: 2024-06-04T08:30:28+00:00
modified: 2025-11-04T08:55:26+00:00
permalink: https://brightdata.de/blog/web-data-de/requets-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)

# 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.

 9 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)





 ![Requests User Agent Guide blog image](https://media.brightdata.de/2024/06/Requests-User-Agent-Guide_-Setting-and-Changing.svg)





In diesem Tutorial lernen Sie Folgendes:

- Warum Sie den User-Agent-Header einstellen müssen
- Der Standard-Python-`Requests`-User-Agent
- Wie Sie den User-Agent in Requests ändern und deaktivieren
- Wie Sie User-Agent-Rotation in Python implementieren

Legen wir los!

## Warum Sie den User-Agent-Header immer einstellen sollten

Der [User-Agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent)-HTTP-Header wird von Browsern, Anwendungen, die Webanfragen ausführen, und HTTP-Clients gesetzt, um die Client-Software zu identifizieren, die die Request stellt. Dieser Wert enthält in der Regel Informationen über den Browser- oder Anwendungstyp, das Betriebssystem und die Architektur, von der die Request stammt.

Hier ist zum Beispiel der User-Agent, der von Chrome zum Zeitpunkt dieses Schreibens beim Besuch von Webseiten festgelegt wurde:

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

Die Komponenten dieses User-Agents sind:

- `Mozilla/5.0:` Wurde in der Vergangenheit verwendet, um die Kompatibilität mit Mozilla-Browsern anzuzeigen. Es ist jetzt ein übliches Präfix, das User-Agents aus Kompatibilitätsgründen hinzugefügt wird.
- `Windows NT 10.0; Win64; x64`: Betriebssystem (`Windows NT 10.0`), Plattform (`Win64`) und Architektur (x64).
- `AppleWebKit/537.36`: Browser-Engine, die von der Chrome-Version verwendet wird, die die Request stellt.
- `KHTML, wie Gecko`: Kompatibilität mit der von Mozilla verwendeten KHTML-Engine und der Gecko-Layout-Engine.

1. `Chrome/125.0.0.0`: Browsername und dessen Version.
2. `Safari/537.36`: Kompatibilität mit Safari.

Kurz gesagt, der User-Agent ist entscheidend, um festzustellen, ob eine Request von einem bekannten Browser oder einer anderen Art von Software stammt.

[Scraping-Bots](/blog/wie/what-is-a-scraping-bot) neigen dazu, standardmäßige oder inkonsistente User-Agent-Strings zu verwenden, wodurch ihre automatisierte Natur zum Vorschein kommt. Folglich schützen Anti-Scraping-Lösungen Daten auf Webseiten, indem sie anhand des `User-Agent`-Headers ermitteln, ob der aktuelle Benutzer legitim oder ein Bot ist.

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

## Was ist der Standard-Python-User-Agent für Requests?

Wie die meisten HTTP-Clients setzt [Requests](https://requests.readthedocs.io/en/latest/) einen `User-Agent`-Header, wenn HTTP-Requests gestellt werden. Insbesondere folgt der von `Requests` festgelegte Standard-User-Agent dem folgenden Format:

`python-requests/X.Y.Z`

Wobei `X.Y.Z` die Version des `Requests`-Pakets ist, das in Ihrem Projekt installiert ist.

Stellen Sie sicher, dass der obige String tatsächlich der Requests-User-Agent ist, indem Sie eine GET-Request an den Endpunkt [httpbin.io](https://httpbin.io/) `/user-agent` stellen. Diese API gibt den `User-Agent`-Header zurück, der aus der eingehenden Request gelesen wurde. Mit anderen Worten, es ermöglicht Ihnen, den User-Agent zu überprüfen, der automatisch von einem HTTP-Client eingerichtet wurde.

Importieren Sie `Requests` und verwenden Sie die [get()](https://requests.readthedocs.io/en/latest/api/#requests.get)-Methode, um die gewünschte HTTP-Request auszuführen:

```none
import requests

# make an HTTP GET request to the specified URL

response = requests.get('https://httpbin.io/user-agent')

# parse the API response as JSON and print it

print(response.json())
```

Führen Sie das obige Python-Snippet aus und Sie erhalten so etwas:

```none
`{'user-agent': 'python-requests/2.32.3'}`
```

Der User-Agent ist `python-requests/2.32.3`, was eindeutig identifiziert, dass die Request aus der `Requests`-Bibliothek stammt. Infolgedessen können [Anti-Bot-Systeme](https://brightdata.de/webinar/bot-detection) eine solche Request als nicht von einem menschlichen Benutzer stammend markieren und sie sofort blockieren. Deshalb ist es so wichtig, den User-Agent-Wert für Python-Requests zu ändern!

Weitere Informationen finden Sie in unserem vollständigen [Leitfaden zur Python-Requests-Bibliothek](/blog/web-data-de/python-requests-guide).

## So ändern Sie den Python-Requests-User-Agent

Schauen wir uns an, wie man den Wert des `User-Agent`-Headers in Requests ändert und aufheben kann!

**Einrichtung eines benutzerdefinierten User-Agent**

Requests bietet keine direkte Option zum Festlegen des User-Agent-Werts. Gleichzeitig ist `User-Agent` nichts anderes als ein HTTP-Header. Sie können seinen Wert also wie jeden anderen HTTP-Header anpassen, indem Sie die Option [`headers`](https://requests.readthedocs.io/en/latest/user/quickstart/#custom-headers) wie folgt verwenden:

```none
import requests

# custom user agent header

headers = {

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

}

# make an HTTP GET request to the specified URL

# setting custom headers

response = requests.get('https://httpbin.io/user-agent', headers=headers)

# parse the API response as JSON and print it

print(response.json())
```

Führen Sie den obigen Python-Snippet erneut aus, und dieses Mal wird es Folgendes drucken:

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

Wunderbar! Sie haben gerade gelernt, dass Sie, um einen benutzerdefinierten User-Agent für Python-Anfragen einzurichten, Folgendes tun müssen:

1. Definieren Sie ein [Python-Dictionary](https://docs.python.org/3/tutorial/datastructures.html#dictionaries) mit einer `User-Agent`-Eigenschaft.
2. Übergeben Sie das Dictionary an den Parameter `headers` der `Requests`-Methode, die Sie für die HTTP-Request verwenden.

Vergessen Sie nicht, dass HTTP-Header-Namen nicht zwischen Groß- und Kleinschreibung unterscheiden, sodass die Eigenschaftsnamen im Header-Dictionary das von Ihnen bevorzugte Format haben können.

**Hinweis**: Dieser Ansatz funktioniert auch mit `request()`, `post()`, `patch()`, `put()`, `delete()` und `head()`.

Um einen globalen `Requests`-User-Agent einzurichten, müssen Sie eine benutzerdefinierte HTTP-Session wie folgt konfigurieren:

```none
import requests

# initialize an HTTP session

session = requests.Session()

# set a custom header in the session

session.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36'

# perform a GET request within the HTTP session

response = session.get('https://httpbin.io/user-agent')

# print the data returned by the API

print(response.json())

# other requests with a custom user agent within the session ...
```

Dadurch wird dieselbe Ausgabe wie zuvor erzeugt. Wenn Sie mit HTTP-Sessions in Requests nicht vertraut sind, [schauen Sie sich die Dokumentation an](https://requests.readthedocs.io/en/latest/user/advanced/#session-objects).

**Deaktivierung des User-Agent**

HTTP-Request auszuführen, ohne den User-Agent einzustellen, ist eine schlechte Praxis, die leicht Anti-Bot-Lösungen auslösen kann. Es gibt jedoch Situationen, in denen Sie möglicherweise den `User-Agent`-Header entfernen müssen.

Die erste Möglichkeit, den User-Agent in Requests zu deaktivieren, besteht darin, den `User-Agent-Header` auf `None` zu setzen:

```none
import requests

# custom user agent header

headers = {

  'user-agent': None

}

# make an HTTP GET request to the specified URL

# setting custom headers

response = requests.get('https://httpbin.io/user-agent', headers=headers)

# parse the API response as JSON and print it

print(response.json())
```

Das wird nicht funktionieren, weil `Requests` hinter den Kulissen [`urllib3`](https://github.com/urllib3/urllib3) verwendet. Daher wird standardmäßig der User-Agent-Wert `urllib3` verwendet:

```none
`python-urllib3/2.2.1`
```

Im Detail gibt der Endpunkt `/user-agent` etwas zurück wie:

```none
`{'user-agent': 'python-urllib3/2.2.1'}`
```

Stattdessen müssen Sie `urllib3` so konfigurieren, dass der Standardwert für den User-Agent mit `urllib3.util.SKIP_HEADER` übersprungen wird. Stellen Sie sicher, dass der User-Agent nicht eingerichtet wurde, indem Sie auf den Endpunkt [`/`](https://httpbin.io/headers)[`headers`](https://httpbin.io/headers) von httpbin.io abzielen, der die HTTP-Header der eingehenden Request zurückgibt:

```none
import requests

import urllib3

# exclude the default user agent value

headers = {

  'user-agent': urllib3.util.SKIP_HEADER

}

# prepare the HTTP request to make

req = requests.Request('GET', 'https://httpbin.io/headers')

prepared_request = req.prepare()

# set the custom headers with no user agent

prepared_request.headers = headers

# create a requests session and perform

# the request

session = requests.Session()

response = session.send(prepared_request)

# print the returned data

print(response.json())
```

Führen Sie den obigen Python-Code aus und Sie erhalten Folgendes:

```none
`{'headers': {'Accept-Encoding': ['identity'], 'Host': ['httpbin.io']}}`
```

Fantastisch! Wie erwartet, kein Python-Request-User-Agent.

## Implementieren Sie die User-Agent-Rotation in Requests.

Es reicht möglicherweise nicht aus, den Standard-`User-Agent`-Header von einem echten Browser auf einen richtigen Wert zu ändern. Wenn Sie zu viele Requests von derselben IP-Adresse aus mit demselben User-Agent ausführen, kann dies den Verdacht von Anti-Bot-Technologien auslösen. Diese Systeme überwachen alle eingehenden Requests und wissen, dass automatische Requests normalerweise regelmäßigen Mustern folgen.

Der Schlüssel zur Vermeidung der Bot-Erkennung besteht darin, Ihre Requests nach dem Zufallsprinzip zu sortieren. Eine gute Möglichkeit, jede Request von der anderen zu unterscheiden, ist die [User-Agent-Rotation](https://brightdata.de/blog/wie/user-agents-for-web-scraping-101). Die Idee hinter dieser Technik besteht darin, den vom HTTP-Client verwendeten User-Agent-Header ständig zu ändern. Auf diese Weise können Sie Ihre automatisierten Requests so aussehen lassen, als kämen sie von verschiedenen Browsern, wodurch das Risiko verringert wird, dass Blockierungen oder vorübergehende Sperren ausgelöst werden.

Folgen Sie nun den folgenden Schritten, um die User-Agent-Rotation in Requests zu implementieren!

**Schritt Nr. 1: Rufen Sie eine Liste gültiger User-Agents ab.**

Sammeln Sie eine Liste der richtigen User-Agents von einer Website wie [User Agent String.com](https://useragentstring.com/pages/useragentstring.php) und speichern Sie sie in einem Python-Array:

```none
user_agents = [

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

    "Mozilla/5.0 (Macintosh; Intel Mac OS X 14.5; rv:126.0) Gecko/20100101 Firefox/126.0",

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

    # other user agents...

]
```

**Schritt Nr. 2: Extrahieren Sie einen Random-User-Agent.**

Extrahiert zufällig ein User-Agent-String aus dem Array mit [`random.choice()`](https://docs.python.org/3/library/random.html#random.choice):

```none
`random_user_agent = random.choice(user_agents)`
```

Vergessen Sie nicht, dass die obige Zeile den folgenden Import erfordert:

```none
`import random`
```

### **Schritt Nr. 3: Stellen Sie den Random-User-Agent ein und stellen Sie die HTTP-Request.**

Definieren Sie das Header-Dictionary mit dem Random-User-Agent und verwenden Sie es in der `Requests`-Request:

```none
headers = {

  'user-agent': random_user_agent

}

response = requests.get('https://httpbin.io/user-agent', headers=headers)

print(response.json())
```

Diese Anweisungen erfordern diesen Import:

```none
`import requests`
```

### **Schritt Nr. 4: Bringen Sie alles zusammen.**

So wird Ihre Python-Requests-User-Agent-Rotationslogik aussehen:

```none
import random

import requests

# list of user agents

user_agents = [

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

    "Mozilla/5.0 (Macintosh; Intel Mac OS X 14.5; rv:126.0) Gecko/20100101 Firefox/126.0",

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

    # other user agents...

]

# pick a random user agent from the list

random_user_agent = random.choice(user_agents)

# set the random user agent

headers = {

  'user-agent': random_user_agent

}

# perform a GET request to the specified URL

# and print the response data

response = requests.get('https://httpbin.io/user-agent', headers=headers)

print(response.json())
```

Führen Sie dieses Skript ein paar Mal aus und Sie erhalten verschiedene User-Agent-Strings.

Und voilà! Sie sind jetzt ein Meister darin, Python-User-Agent-Werte für Requests festzulegen.

## Fazit

Mithilfe dieses Leitfadens haben Sie gelernt, wie wichtig es ist, den `User-Agent`-Header einzustellen und wie Sie das in `Request` tun. Auf diese Weise können Sie grundlegende Anti-Bot-Systeme dazu bringen, zu glauben, dass Ihre Requests von legitimen Browsern stammen. Fortschrittliche Lösungen können Sie jedoch möglicherweise immer noch erkennen und blockieren. Um IP-Sperren zu vermeiden, könnten Sie [einen Proxy mit `Requests`](https://brightdata.de/blog/proxys-101/proxy-with-python-requests) verwenden, aber selbst das reicht möglicherweise nicht aus!

Vermeiden Sie diese Komplikationen mit [Web Scraper API](https://brightdata.de/products/web-scraper). Diese Scraping-API der nächsten Generation bietet alles, was Sie zum Ausführen automatisierter Web-Requests mit `Requests` oder einem anderen HTTP-Client benötigen. Sie umgeht mühelos Anti-Bot-Technologien für Sie und stützt sich auf Funktionen wie IP und User-Agent-Rotation. Es war noch nie so einfach, erfolgreiche automatisierte Requests auszuführen!

Sprechen Sie mit einem unserer Datenexperten über unsere Scraping-Lösungen oder entdecken Sie einfach alle verfügbaren Produkte, indem Sie sich jetzt registrieren. Kostenlose Testversionen verfügbar!



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=Python-Requests-User-Agent-Leitfaden%3A+Einstellung+und+%C3%84nderung&u=https://brightdata.de/blog/web-data-de/requets-user-agent) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Python-Requests-User-Agent-Leitfaden%3A+Einstellung+und+%C3%84nderung&url=https://brightdata.de/blog/web-data-de/requets-user-agent) [ ](http://www.reddit.com/submit?title=Python-Requests-User-Agent-Leitfaden%3A+Einstellung+und+%C3%84nderung&url=https://brightdata.de/blog/web-data-de/requets-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)

 [ ![How to Set a Proxy in Node-Fetch blog image](https://media.brightdata.de/2023/10/How-to-Set-a-Proxy-in-Node-Fetch-1.svg) ](https://brightdata.de/blog/proxys-101/proxy-in-node-fetch "Verwendung von Proxy mit node-fetch")

 [Proxy 101



 ![White number one with a flame on top.](https://media.brightdata.de/2023/03/Favicon-2-1-50x50.png)

Ryan Peden





### Verwendung von Proxy mit node-fetch

In dieser Schritt-für-Schritt-Anleitung erfahren Sie, wie Sie einen Proxy in Node-Fetch einrichten können



 18-Oct-2023

 8 min lesen

 ](https://brightdata.de/blog/proxys-101/proxy-in-node-fetch)

 [ ![Fetch API in NodeJS](https://media.brightdata.de/2023/10/Fetch-API-in-Node-JS.svg) ](https://brightdata.de/blog/wie/fetch-api-nodejs "HTTP-Anfragen in Node.js mit Fetch-API")

 [How Tos



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

Antonello Zanini

Technical Writer





### HTTP-Anfragen in Node.js mit Fetch-API

In diesem Handbuch erfahren Sie, wie Sie in Node.js mit der Fetch-API HTTP-Anfragen erstellen können



 01-Oct-2023

 10 min lesen

 ](https://brightdata.de/blog/wie/fetch-api-nodejs)
