Link gekopieerd
Wanneer het om een location header gaat zou je met cURL iets als volgt kunnen doen (uiteraard niet getest):
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$response = curl_exec($ch);
curl_close($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$headers = substr($response, 0, $header_size);
$headers = explode("\r\n", $headers);
$new_url = null;
foreach ($headers as $header) {
$header = explode(':', $header);
if (strtolower($header[0]) == 'location') {
$new_url = trim($header[1]);
break;
}
}
// Werk hier verder met $new_url
?>
Link gekopieerd
- Ariën - op 04/03/2017 19:49:29
Op welke manier wordt https://www.domein.nl/avatar/Rob doorgelink naar de lange URL van domein2?
Ik denk 403, ik ben niet de eigenaar van domein.nl..
[size=xsmall]
Toevoeging op 05/03/2017 13:05:06: [/size]
Ben van Velzen op 05/03/2017 02:34:55
Wanneer het om een location header gaat zou je met cURL iets als volgt kunnen doen (uiteraard niet getest):
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$response = curl_exec($ch);
curl_close($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$headers = substr($response, 0, $header_size);
$headers = explode("\r\n", $headers);
$new_url = null;
foreach ($headers as $header) {
$header = explode(':', $header);
if (strtolower($header[0]) == 'location') {
$new_url = trim($header[1]);
break;
}
}
// Werk hier verder met $new_url
?>
Moet ik bij location de URL zetten?
[size=xsmall]
Toevoeging op 05/03/2017 13:11:47: [/size]
Ik heb het al gevonden ;-)
$url = "https://
www.domein.nl/avatar/Rob" ;;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Must be set to true so that PHP follows any "Location:" header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$a = curl_exec($ch); // $a will contain all headers
$url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); // This is what you need, it will return you the last effective URL
Link gekopieerd