Код: Выделить всё
$proxied_site = 'https://BBB.com';
$proxied_site_parsed = parse_url($proxied_site);
$ch = curl_init();
$proxied_url = $proxied_site . $_SERVER['REQUEST_URI'];
curl_setopt($ch, CURLOPT_URL, $proxied_url);
curl_setopt($ch, CURLOPT_RESOLVE, array(
"{$proxied_site_parsed['host']}:443:170.249.199.178",
));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $_SERVER['REQUEST_METHOD']);
$requestHeaders = [];
foreach (getallheaders() as $name => $value) {
if ($name == 'Host') {
$value = $proxied_site_parsed['host'];
}
$requestHeaders[] = "$name: $value";
}
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
if (in_array($_SERVER['REQUEST_METHOD'], ['POST', 'PUT', 'DELETE'])) {
curl_setopt($ch, CURLOPT_POSTFIELDS, file_get_contents('php://input'));
}
curl_setopt($ch, CURLOPT_ENCODING, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
$response = curl_exec($ch);
$response_header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$responseHeaders = substr($response, 0, $response_header_size);
$responseBody = substr($response, $response_header_size);
foreach (explode("\r\n", $responseHeaders) as $header_line) {
if (stripos($header_line, 'HTTP/') === 0 || stripos($header_line, 'Set-Cookie:') === 0) {
header($header_line, false);
} else {
header($header_line);
}
}
curl_close($ch);
echo $responseBody;
Мой вопрос есть ли возможность сделать это быстрее? Могу ли я сделать это молниеносно и так же быстро, как 0,00006, поскольку они оба находятся на одном сервере?
Я пробовал использовать IP:
Код: Выделить всё
$ch = curl_init('XXX.XXX.XXX.XXX');
Код: Выделить всё
curl_setopt($ch, CURLOPT_RESOLVE, array(
"{$proxied_site_parsed['host']}:443:XXX.XXX.XXX.XXX",
));
Возможно ли это вообще с cURL? Или хотя бы сделать 0,0006 с?
Если нет, то почему?
Подробнее здесь: https://stackoverflow.com/questions/790 ... tning-fast