FrontendDavid/php/pasta.php
2020-06-08 12:41:39 +02:00

58 lines
No EOL
1.7 KiB
PHP

<?php
if(isset($_POST['link'])) {
$link = $_POST['link'];
//remove protocol, we're assuming its http
if(strstr($link, '://') != false){
$link = substr($link, strpos($link,'://') + strlen('://'));
}
//split the url into host (www.example.com) and requested page (index.php) on the first slash
$host = substr($link, 0, strpos($link, '/'));
$request = substr($link, strpos($link, '/'));
//open a socket connection to the site on port 80 (http protocol port)
$fp = @fsockopen($host, 80, $errno, $errstr);
if($fp == false){
$response = $errno . " " . $errstr;
}
else {
//create the request headers
$headers = array();
$headers[] = 'HEAD ' . $request . ' HTTP/1.1';
$headers[] = 'Host: ' . $host;
$headers[] = 'Content-Length: 0';
$headers[] = 'Connection: close';
$headers[] = 'Content-Type: text/html';
$headers = implode("\r\n", $headers) . "\r\n\r\n";
//send our request
if (!fwrite($fp, $headers)) {
fclose($fp);
$response = "Could not access webpage specified.";
}
else {
//read the response
$rsp = '';
while(!feof($fp)) { $rsp .= fgets($fp,8192); }
fclose($fp);
$hunks = explode("\r\n\r\n",trim($rsp));
$headers = explode("\n", $hunks[count($hunks) - 1]);
$response = trim($headers[0]);
}
}
}
?>
<html>
<head>
<title>Test Link</title>
</head>
<body>
<?php if(isset($response)) { echo $response; } ?>
<form method="post">
<label for="link">Link</label>
<input id="link" type="text" name="link" />
</form>
</body>
</html>