PHP cURL, wie man den User-Agent-Wert hinzufügt ODER die Server überwindet, die cURL-Anfragen blockieren?

Sie können einen benutzerdefinierten User Agent Wert in einer cURL-Anforderung in PHP mit der CURLOPT_USERAGENT-Option hinzufügen. Dies kann erreicht werden, indem die Option auf eine Zeichenfolge mit dem gewünschten User Agent Wert gesetzt wird, bevor die cURL-Anforderung ausgeführt wird.

curl_setopt($ch, CURLOPT_USERAGENT, 'MyCustomUserAgent');

Wenn der Server cURL-Anforderungen blockiert, kann eine Möglichkeit, dies zu umgehen, darin bestehen, die Anforderung so aussehen zu lassen, als ob sie von einem Webbrowser stammt, indem der User Agent auf den Wert eines gängigen Webbrowsers gesetzt wird. Eine andere Möglichkeit besteht darin zu prüfen, ob der Server andere Arten von Anforderungsmethoden wie file_get_contents oder stream_context_create erlaubt.

<?php

$url = "https://jsonplaceholder.typicode.com/posts/1";
$options = ['http' => ['user_agent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36']];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);

if ($response === false) {
  echo "Failed to retrieve the contents of the URL.";
} else {
  echo $response;
}

?>

Es ist auch möglich, dass der Server ein CAPTCHA oder eine andere Art von Anti-Bot-Maßnahme implementiert hat, die Sie umgehen müssen, um erfolgreiche Anforderungen zu stellen.