Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $file_handle = fopen(__DIR__ . "/links.txt", "r");
- while (!feof($file_handle)) {
- $data = preg_split('/\s+/', fgets($file_handle));
- $result = PageInspector::getHttpResultsForUrl($data[1]);
- echo $data[0] . ' | ' . $result->httpStatusCode . ' (' . $result->connectionError . ') | ' . $result->url . "<br>\r\n";
- //echo $data0 . ' | ' . $data1 . "<br>\r\n";
- }
- fclose($file_handle);
- class PageInspector {
- private static $curlError = array(
- 1 => 'CURLE_UNSUPPORTED_PROTOCOL',
- 2 => 'CURLE_FAILED_INIT',
- 3 => 'CURLE_URL_MALFORMAT',
- 4 => 'CURLE_URL_MALFORMAT_USER',
- 5 => 'CURLE_COULDNT_RESOLVE_PROXY',
- 6 => 'CURLE_COULDNT_RESOLVE_HOST',
- 7 => 'CURLE_COULDNT_CONNECT',
- 8 => 'CURLE_FTP_WEIRD_SERVER_REPLY',
- 9 => 'CURLE_REMOTE_ACCESS_DENIED',
- 11 => 'CURLE_FTP_WEIRD_PASS_REPLY',
- 13 => 'CURLE_FTP_WEIRD_PASV_REPLY',
- 14 =>'CURLE_FTP_WEIRD_227_FORMAT',
- 15 => 'CURLE_FTP_CANT_GET_HOST',
- 17 => 'CURLE_FTP_COULDNT_SET_TYPE',
- 18 => 'CURLE_PARTIAL_FILE',
- 19 => 'CURLE_FTP_COULDNT_RETR_FILE',
- 21 => 'CURLE_QUOTE_ERROR',
- 22 => 'CURLE_HTTP_RETURNED_ERROR',
- 23 => 'CURLE_WRITE_ERROR',
- 25 => 'CURLE_UPLOAD_FAILED',
- 26 => 'CURLE_READ_ERROR',
- 27 => 'CURLE_OUT_OF_MEMORY',
- 28 => 'CURLE_OPERATION_TIMEDOUT',
- 30 => 'CURLE_FTP_PORT_FAILED',
- 31 => 'CURLE_FTP_COULDNT_USE_REST',
- 33 => 'CURLE_RANGE_ERROR',
- 34 => 'CURLE_HTTP_POST_ERROR',
- 35 => 'CURLE_SSL_CONNECT_ERROR',
- 36 => 'CURLE_BAD_DOWNLOAD_RESUME',
- 37 => 'CURLE_FILE_COULDNT_READ_FILE',
- 38 => 'CURLE_LDAP_CANNOT_BIND',
- 39 => 'CURLE_LDAP_SEARCH_FAILED',
- 41 => 'CURLE_FUNCTION_NOT_FOUND',
- 42 => 'CURLE_ABORTED_BY_CALLBACK',
- 43 => 'CURLE_BAD_FUNCTION_ARGUMENT',
- 45 => 'CURLE_INTERFACE_FAILED',
- 47 => 'CURLE_TOO_MANY_REDIRECTS',
- 48 => 'CURLE_UNKNOWN_TELNET_OPTION',
- 49 => 'CURLE_TELNET_OPTION_SYNTAX',
- 51 => 'CURLE_PEER_FAILED_VERIFICATION',
- 52 => 'CURLE_GOT_NOTHING',
- 53 => 'CURLE_SSL_ENGINE_NOTFOUND',
- 54 => 'CURLE_SSL_ENGINE_SETFAILED',
- 55 => 'CURLE_SEND_ERROR',
- 56 => 'CURLE_RECV_ERROR',
- 58 => 'CURLE_SSL_CERTPROBLEM',
- 59 => 'CURLE_SSL_CIPHER',
- 60 => 'CURLE_SSL_CACERT',
- 61 => 'CURLE_BAD_CONTENT_ENCODING',
- 62 => 'CURLE_LDAP_INVALID_URL',
- 63 => 'CURLE_FILESIZE_EXCEEDED',
- 64 => 'CURLE_USE_SSL_FAILED',
- 65 => 'CURLE_SEND_FAIL_REWIND',
- 66 => 'CURLE_SSL_ENGINE_INITFAILED',
- 67 => 'CURLE_LOGIN_DENIED',
- 68 => 'CURLE_TFTP_NOTFOUND',
- 69 => 'CURLE_TFTP_PERM',
- 70 => 'CURLE_REMOTE_DISK_FULL',
- 71 => 'CURLE_TFTP_ILLEGAL',
- 72 => 'CURLE_TFTP_UNKNOWNID',
- 73 => 'CURLE_REMOTE_FILE_EXISTS',
- 74 => 'CURLE_TFTP_NOSUCHUSER',
- 75 => 'CURLE_CONV_FAILED',
- 76 => 'CURLE_CONV_REQD',
- 77 => 'CURLE_SSL_CACERT_BADFILE',
- 78 => 'CURLE_REMOTE_FILE_NOT_FOUND',
- 79 => 'CURLE_SSH',
- 80 => 'CURLE_SSL_SHUTDOWN_FAILED',
- 81 => 'CURLE_AGAIN',
- 82 => 'CURLE_SSL_CRL_BADFILE',
- 83 => 'CURLE_SSL_ISSUER_ERROR',
- 84 => 'CURLE_FTP_PRET_FAILED',
- 85 => 'CURLE_RTSP_CSEQ_ERROR',
- 86 => 'CURLE_RTSP_SESSION_ERROR',
- 87 => 'CURLE_FTP_BAD_FILE_LIST',
- 88 => 'CURLE_CHUNK_FAILED'
- );
- // Returns result object
- static function getHttpResultsForUrl($url) {
- // Setup connection
- $handle = curl_init($url);
- curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);
- curl_setopt($handle, CURLOPT_TIMEOUT, 1);
- // Get HTML
- $response = curl_exec($handle);
- //echo $response . "\r\n";
- //Parse Result
- $result = new Result();
- $result->url = $url;
- //Handle error
- if(curl_errno($handle)) {
- $result->httpStatusCode = 0;
- $result->connectionError = self::$curlError[curl_errno($handle)];
- return $result;
- }
- $result->httpStatusCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
- curl_close($handle);
- //var_dump($result);
- return $result;
- }
- }
- class Result {
- public $url;
- public $httpStatusCode;
- public $connectionError;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement