Ik gebruik nu het volgende script om te checken of mijn links nog actief zijn. Nu heb ik echter ook een aantal links met username/password die door dit script niet herkent worden. Weet iemand wat ik in de $dump moet zetten om een wachtwoord mee te sturen? Wat dus niet werkt is een oplossing als "gebruik: [url="http://user:pass@www.blaat.nl/""]http://user:pass@www.blaat.nl/"[/url] want dat werkt niet, die wordt in dit script niet in de header meegestuurd.
[php]<? function check($url) { if (!eregi("^http://", $url)) { if (eregi("^mailto:", $url)) { $url = trim(eregi_replace("^mailto:(.+)", "\\1", $url)); list($brugernavn, $host) = split("@", $url); $dnsCheck = checkdnsrr($host,"MX"); if ($dnsCheck) $return[code] = "OK"; else $return[code] = "ERROR"; } else $return[code] = "N/A"; } else { $urlArray = parse_url($url); if (!$urlArray[port]) $urlArray[port] = "80"; if (!$urlArray[path]) $urlArray[path] = "/"; $sock = fsockopen($urlArray[host], $urlArray[port], &$errnum, &$errstr); if (!$sock) $return[code] = "Død"; else { $dump .= "GET $urlArray[path] HTTP/1.1\r\n"; $dump .= "Host: $urlArray[host]\r\nConnection: close\r\n"; $dump .= "Connection: close\r\n\r\n"; fputs($sock, $dump); while($str = fgets($sock, 1024)) { if (eregi("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", $str)) $return
[php]<? function check($url) { if (!eregi("^http://", $url)) { if (eregi("^mailto:", $url)) { $url = trim(eregi_replace("^mailto:(.+)", "\\1", $url)); list($brugernavn, $host) = split("@", $url); $dnsCheck = checkdnsrr($host,"MX"); if ($dnsCheck) $return[code] = "OK"; else $return[code] = "ERROR"; } else $return[code] = "N/A"; } else { $urlArray = parse_url($url); if (!$urlArray[port]) $urlArray[port] = "80"; if (!$urlArray[path]) $urlArray[path] = "/"; $sock = fsockopen($urlArray[host], $urlArray[port], &$errnum, &$errstr); if (!$sock) $return[code] = "Død"; else { $dump .= "GET $urlArray[path] HTTP/1.1\r\n"; $dump .= "Host: $urlArray[host]\r\nConnection: close\r\n"; $dump .= "Connection: close\r\n\r\n"; fputs($sock, $dump); while($str = fgets($sock, 1024)) { if (eregi("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", $str)) $return
code:
1
| = trim(eregi_replace("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", "\\1", $str)); if (eregi("^Content-Type: ", $str)) $return[contentType] = trim(eregi_replace("^Content-Type: ", "", $str)); } fclose($sock); flush(); } } return $return; } ?> |