diff --git a/sites/all/modules/unl/unl_migration.php b/sites/all/modules/unl/unl_migration.php index e82fa7d72c73c323f74a0f6d5af453cd8c39b024..affb5e79f3eb4c5e94a3dc4a60850b004b04291b 100644 --- a/sites/all/modules/unl/unl_migration.php +++ b/sites/all/modules/unl/unl_migration.php @@ -449,9 +449,22 @@ class Unl_Migration_Tool curl_setopt($this->_curl, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($this->_curl, CURLOPT_HEADER, TRUE); echo 'Retreiving ' . $url . PHP_EOL; - $content = curl_exec($this->_curl); + $data = curl_exec($this->_curl); $meta = curl_getinfo($this->_curl); - $content = substr($content, $meta['header_size']); + + $rawHeaders = substr($data, 0, $meta['header_size']); + $rawHeaders = trim($rawHeaders); + $rawHeaders = explode("\n", $rawHeaders); + array_shift($rawHeaders); + $headers = array(); + foreach ($rawHeaders as $rawHeader) { + $splitPos = strpos($rawHeader, ':'); + $headerKey = substr($rawHeader, 0, $splitPos); + $headerValue = substr($rawHeader, $splitPos+1); + $headers[$headerKey] = $headerValue; + } + + $content = substr($data, $meta['header_size']); if ($meta['http_code'] == 301) { preg_match('/Location: (.*)/', $content, $matches);