Note the final URL used to retrieve content after all redirects

This commit is contained in:
Matthew Exon 2016-01-25 07:41:56 +01:00
parent 662a9f5b16
commit 3ada0093f9
2 changed files with 15 additions and 1 deletions

View file

@ -526,6 +526,7 @@ class App {
private $curl_code; private $curl_code;
private $curl_content_type; private $curl_content_type;
private $curl_headers; private $curl_headers;
private $curl_redirect_url;
private $cached_profile_image; private $cached_profile_image;
private $cached_profile_picdate; private $cached_profile_picdate;
@ -909,6 +910,14 @@ class App {
return $this->curl_headers; return $this->curl_headers;
} }
function set_curl_redirect_url($url) {
$this->curl_redirect_url = $url;
}
function get_curl_redirect_url() {
return $this->curl_redirect_url;
}
function get_cached_avatar_image($avatar_image){ function get_cached_avatar_image($avatar_image){
return $avatar_image; return $avatar_image;

View file

@ -136,6 +136,10 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
$base = substr($base,strlen($chunk)); $base = substr($base,strlen($chunk));
} }
$a->set_curl_code($http_code);
$a->set_curl_content_type($curl_info['content_type']);
$a->set_curl_headers($header);
if($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) { if($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) {
$new_location_info = @parse_url($curl_info["redirect_url"]); $new_location_info = @parse_url($curl_info["redirect_url"]);
$old_location_info = @parse_url($curl_info["url"]); $old_location_info = @parse_url($curl_info["url"]);
@ -154,16 +158,17 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
if (filter_var($newurl, FILTER_VALIDATE_URL)) { if (filter_var($newurl, FILTER_VALIDATE_URL)) {
$redirects++; $redirects++;
@curl_close($ch); @curl_close($ch);
$a->set_curl_redirect_url($newurl);
return z_fetch_url($newurl,$binary, $redirects, $opts); return z_fetch_url($newurl,$binary, $redirects, $opts);
} }
} }
$a->set_curl_redirect_url($url);
$a->set_curl_code($http_code); $a->set_curl_code($http_code);
$a->set_curl_content_type($curl_info['content_type']); $a->set_curl_content_type($curl_info['content_type']);
$body = substr($s,strlen($header)); $body = substr($s,strlen($header));
$a->set_curl_headers($header);