WebView 2.7- Менеджер загрузок теперь отдельная программа, которая может работать в мультипоточном режиме и скачивать файлы по HTTPS.
- Браузер теперь анализирует содержимое ссылки и если это файл (Content-Type: application) то скачивает его автоматически, а не открывает для просмотра, как страницу.
Текущий код прокси сервера gate.aspero.pro для поддержки HTTPS. Советы по улучшению приветствуются.
Code:
<?php
$site = $_GET["site"];
$show_header = $_GET["show_header"];
if (is_null($site)) die("KolibriOS has no native HTTPS support. So this is a Proxy of HTTPS websites for Kolibri Text Based browser WebView.");
$curl = curl_init( );
curl_setopt($curl, CURLOPT_URL, $site);
curl_setopt($curl, CURLOPT_USERAGENT,'Googlebot/2.1 (+http://www.google.com/bot.html)');
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
if (preg_match('~Location: (.*)~i', $result, $match)) { //проброс поля Location для редиректа
$location = trim($match[1]);
header("location: ".$location);
}
if (preg_match('~Content-Type: (.*)~i', $result, $match)) { //проброс поля Content-Type для понимания скачать файл или нет
$ct = trim($match[1]);
header("Content-Type: ".$ct);
}
$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
$header = substr($result, 0, $header_size);
$body = substr($result, $header_size);
if (!is_null($show_header)) echo $header."\n";
echo $body;
?>