HTTP-запрос не выполнен! HTTP / 1.0 400 Bad Request при попытке получить контент с YouTube

Я получаю эту ошибку, когда пытаюсь получить контент с YouTube более чем одним словом.

Warning: file_get_contents(https://www.youtube.com/results?search_query=html begginer): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in C:\xampp\htdocs\sites\mime\beta\default.php on line 5

Мой код:

<?php
$address = $_GET['q'];
$address = 'https://www.youtube.com/results?search_query=' . $address;

$html = file_get_contents($address);
echo $html;
?>

Однако, если я пытаюсь получить контент с YouTube, используя только одно слово (например: http://127.0.0.1/sites/mime/beta/default.php?q=html), скрипт работает отлично.

В чем дело?

0

Решение

$address = $_GET['q']; // this GET can be spaced or not

Это URL, поэтому вы должны кодировать, прежде чем поместить в запрос YouTube

$address = urlencode($_GET['q']);

PHP urlencode

0

Другие решения

Других решений пока нет …