http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?q=Дизайн+привычных+вещей&idx=ti
http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-detail.pl?biblionumber=31737
http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=31737
$response = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?idx=ti&q=Дизайн+привычных+вещей', [
'on_stats' => function (TransferStats $stats) {
echo $stats->getEffectiveUri();
}
]);
http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?idx=ti&q=%D0%94%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD+%D0%BF%D1%80%D0%B8%D0%B2%D1%8B%D1%87%D0%BD%D1%8B%D1%85+%D0%B2%D0%B5%D1%89%D0%B5%D0%B9http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-detail.pl?biblionumber=31737
require 'vendor/autoload.php';
// Подключаем классы Client
use GuzzleHttp\Client;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\UriInterface;
// Функция для вывода адреса после редиректа
$onRedirect = function(RequestInterface $request, ResponseInterface $response, UriInterface $uri) {
echo $uri;
};
// Инициализируем класс для работы с удаленными веб-ресурсами
$client = new Client();
// Делаем запрос, получаем ответ
$response = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?idx=ti&q=Дизайн+привычных+вещей', [
'allow_redirects' => [
'strict' => true, // use "strict" RFC compliant redirects.
'referer' => true, // add a Referer header
'on_redirect' => $onRedirect,
'track_redirects' => true
]
]);
echo $res->getHeaderLine('X-Guzzle-Redirect-History');
echo $res->getHeaderLine('X-Guzzle-Redirect-History');
?)$onRedirect = function(RequestInterface $request, ResponseInterface $response, UriInterface $uri) {
echo substr($uri, 70);
};
$onRedirect = function(RequestInterface $request, ResponseInterface $response, UriInterface $uri) {
echo "http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=" . substr($uri, 70);
};
// Получаем название книги, заменяем все пробелы на знак плюса
$bookTitle = str_replace(" ", "+", "Дизай привычных вещей");
require 'vendor/autoload.php';
// Подключаем классы Client
use GuzzleHttp\Client;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\UriInterface;
// Функция для вывода адреса после редиректа
$onRedirect = function(RequestInterface $request, ResponseInterface $response, UriInterface $uri) {
echo "http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=" . substr($uri, 70);
};
// Инициализируем класс для работы с удаленными веб-ресурсами
$client = new Client();
// Делаем запрос, получаем ответ
$response = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?idx=ti&q='.$bookTitle.'', [
'allow_redirects' => [
'strict' => true, // use "strict" RFC compliant redirects.
'referer' => true, // add a Referer header
'track_redirects' => true
]
]);
что у меня выводится адрес без
Дальше надо вывести к себе эту страницу
$response->getBody()->getContents();
echo substr($uri, 70);
$query = [];
parse_str(parse_url($url, PHP_URL_QUERY), $query);
echo $query['biblionumber'];
$response->getBody()->getContents();
?// Получаем название книги, заменяем все пробелы на знак плюса
$bookTitle = str_replace(" ", "+", "Дизай привычных вещей");
require 'vendor/autoload.php';
// Подключаем классы Client
use GuzzleHttp\Client;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\UriInterface;
// Инициализируем класс для работы с удаленными веб-ресурсами
$client = new Client();
// Функция для вывода адреса после редиректа
$onRedirect = function(RequestInterface $request, ResponseInterface $response, UriInterface $uri) {
echo $uri;
};
// Делаем запрос, получаем ответ
$response = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?idx=ti&q='.$bookTitle.'', [
'allow_redirects' => [
'strict' => true, // use "strict" RFC compliant redirects.
'referer' => true, // add a Referer header
'on_redirect' => $onRedirect,
'track_redirects' => true
]
]);
$response->getBody()->getContents();
$content = $response->getBody()->getContents();
echo $content;
или что-нибудь в этом стиле для отображения данных. $response->getBody()->getContents();
$redirUrl = '';
$onRedirect = function(RequestInterface $request, ResponseInterface $response, UriInterface $uri) use (&$redirUrl) {
$redirUrl = $uri;
};
// Делаем запрос, получаем ответ
$response = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?idx=ti&q='.$bookTitle.'', [
'allow_redirects' => [
'strict' => true, // use "strict" RFC compliant redirects.
'referer' => true, // add a Referer header
'on_redirect' => $onRedirect,
'track_redirects' => true
]
]);
$query = [];
parse_str(parse_url($redirUrl, PHP_URL_QUERY), $query);
$responseMarc = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-MARCdetail.pl?biblionumber='.$query['biblionumber']);
echo $responseMarc->getBody()->getContents();
use (&$redirUrl)
— для чего это?$redirUrl = '';
$onRedirect = function(RequestInterface $request, ResponseInterface $response, UriInterface $uri) use (&$redirUrl) {
$redirUrl = $uri;
};
$bookTitle = str_replace(" ", "+", "Дизай привычных вещей");
require 'vendor/autoload.php';
// Подключаем классы Client
use GuzzleHttp\Client;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\UriInterface;
// Инициализируем класс для работы с удаленными веб-ресурсами
$client = new Client();
// Функция для вывода адреса после редиректа
$onRedirect = function(RequestInterface $request, ResponseInterface $response, UriInterface $uri) {
// Получаем из ссылки значение параметра biblionumber
$query = [];
parse_str(parse_url($uri, PHP_URL_QUERY), $query);
// Выводим Марк-вью
$client1 = new Client();
$marcviewURI = "http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=" . $query['biblionumber'];
$response1 = $client1->request('GET', $marcviewURI);
echo $response1->getBody();
};
// Делаем запрос, получаем ответ
$response = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?idx=ti&q='.$bookTitle.'', [
'allow_redirects' => [
'strict' => true, // use "strict" RFC compliant redirects.
'referer' => true, // add a Referer header
'on_redirect' => $onRedirect,
'track_redirects' => true
]
]);
str_replace(" ", "+", "Дизай привычных вещей");
if(empty($redirUrl)){
//ничего не редиректнулось
}