Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.44 KB | None | 0 0
  1. <?php
  2. $file_handle = fopen(__DIR__ . "/links.txt", "r");
  3. while (!feof($file_handle)) {
  4. $data = preg_split('/\s+/', fgets($file_handle));
  5.  
  6. $result = PageInspector::getHttpResultsForUrl($data[1]);
  7.  
  8. echo $data[0] . ' | ' . $result->httpStatusCode . ' (' . $result->connectionError . ') | ' . $result->url . "<br>\r\n";
  9.  
  10. //echo $data0 . ' | ' . $data1 . "<br>\r\n";
  11. }
  12. fclose($file_handle);
  13.  
  14.  
  15.  
  16. class PageInspector {
  17.  
  18. private static $curlError = array(
  19. 1 => 'CURLE_UNSUPPORTED_PROTOCOL',
  20. 2 => 'CURLE_FAILED_INIT',
  21. 3 => 'CURLE_URL_MALFORMAT',
  22. 4 => 'CURLE_URL_MALFORMAT_USER',
  23. 5 => 'CURLE_COULDNT_RESOLVE_PROXY',
  24. 6 => 'CURLE_COULDNT_RESOLVE_HOST',
  25. 7 => 'CURLE_COULDNT_CONNECT',
  26. 8 => 'CURLE_FTP_WEIRD_SERVER_REPLY',
  27. 9 => 'CURLE_REMOTE_ACCESS_DENIED',
  28. 11 => 'CURLE_FTP_WEIRD_PASS_REPLY',
  29. 13 => 'CURLE_FTP_WEIRD_PASV_REPLY',
  30. 14 =>'CURLE_FTP_WEIRD_227_FORMAT',
  31. 15 => 'CURLE_FTP_CANT_GET_HOST',
  32. 17 => 'CURLE_FTP_COULDNT_SET_TYPE',
  33. 18 => 'CURLE_PARTIAL_FILE',
  34. 19 => 'CURLE_FTP_COULDNT_RETR_FILE',
  35. 21 => 'CURLE_QUOTE_ERROR',
  36. 22 => 'CURLE_HTTP_RETURNED_ERROR',
  37. 23 => 'CURLE_WRITE_ERROR',
  38. 25 => 'CURLE_UPLOAD_FAILED',
  39. 26 => 'CURLE_READ_ERROR',
  40. 27 => 'CURLE_OUT_OF_MEMORY',
  41. 28 => 'CURLE_OPERATION_TIMEDOUT',
  42. 30 => 'CURLE_FTP_PORT_FAILED',
  43. 31 => 'CURLE_FTP_COULDNT_USE_REST',
  44. 33 => 'CURLE_RANGE_ERROR',
  45. 34 => 'CURLE_HTTP_POST_ERROR',
  46. 35 => 'CURLE_SSL_CONNECT_ERROR',
  47. 36 => 'CURLE_BAD_DOWNLOAD_RESUME',
  48. 37 => 'CURLE_FILE_COULDNT_READ_FILE',
  49. 38 => 'CURLE_LDAP_CANNOT_BIND',
  50. 39 => 'CURLE_LDAP_SEARCH_FAILED',
  51. 41 => 'CURLE_FUNCTION_NOT_FOUND',
  52. 42 => 'CURLE_ABORTED_BY_CALLBACK',
  53. 43 => 'CURLE_BAD_FUNCTION_ARGUMENT',
  54. 45 => 'CURLE_INTERFACE_FAILED',
  55. 47 => 'CURLE_TOO_MANY_REDIRECTS',
  56. 48 => 'CURLE_UNKNOWN_TELNET_OPTION',
  57. 49 => 'CURLE_TELNET_OPTION_SYNTAX',
  58. 51 => 'CURLE_PEER_FAILED_VERIFICATION',
  59. 52 => 'CURLE_GOT_NOTHING',
  60. 53 => 'CURLE_SSL_ENGINE_NOTFOUND',
  61. 54 => 'CURLE_SSL_ENGINE_SETFAILED',
  62. 55 => 'CURLE_SEND_ERROR',
  63. 56 => 'CURLE_RECV_ERROR',
  64. 58 => 'CURLE_SSL_CERTPROBLEM',
  65. 59 => 'CURLE_SSL_CIPHER',
  66. 60 => 'CURLE_SSL_CACERT',
  67. 61 => 'CURLE_BAD_CONTENT_ENCODING',
  68. 62 => 'CURLE_LDAP_INVALID_URL',
  69. 63 => 'CURLE_FILESIZE_EXCEEDED',
  70. 64 => 'CURLE_USE_SSL_FAILED',
  71. 65 => 'CURLE_SEND_FAIL_REWIND',
  72. 66 => 'CURLE_SSL_ENGINE_INITFAILED',
  73. 67 => 'CURLE_LOGIN_DENIED',
  74. 68 => 'CURLE_TFTP_NOTFOUND',
  75. 69 => 'CURLE_TFTP_PERM',
  76. 70 => 'CURLE_REMOTE_DISK_FULL',
  77. 71 => 'CURLE_TFTP_ILLEGAL',
  78. 72 => 'CURLE_TFTP_UNKNOWNID',
  79. 73 => 'CURLE_REMOTE_FILE_EXISTS',
  80. 74 => 'CURLE_TFTP_NOSUCHUSER',
  81. 75 => 'CURLE_CONV_FAILED',
  82. 76 => 'CURLE_CONV_REQD',
  83. 77 => 'CURLE_SSL_CACERT_BADFILE',
  84. 78 => 'CURLE_REMOTE_FILE_NOT_FOUND',
  85. 79 => 'CURLE_SSH',
  86. 80 => 'CURLE_SSL_SHUTDOWN_FAILED',
  87. 81 => 'CURLE_AGAIN',
  88. 82 => 'CURLE_SSL_CRL_BADFILE',
  89. 83 => 'CURLE_SSL_ISSUER_ERROR',
  90. 84 => 'CURLE_FTP_PRET_FAILED',
  91. 85 => 'CURLE_RTSP_CSEQ_ERROR',
  92. 86 => 'CURLE_RTSP_SESSION_ERROR',
  93. 87 => 'CURLE_FTP_BAD_FILE_LIST',
  94. 88 => 'CURLE_CHUNK_FAILED'
  95. );
  96.  
  97. // Returns result object
  98. static function getHttpResultsForUrl($url) {
  99. // Setup connection
  100. $handle = curl_init($url);
  101.  
  102. curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);
  103. curl_setopt($handle, CURLOPT_TIMEOUT, 1);
  104.  
  105. // Get HTML
  106. $response = curl_exec($handle);
  107. //echo $response . "\r\n";
  108.  
  109.  
  110. //Parse Result
  111. $result = new Result();
  112. $result->url = $url;
  113.  
  114. //Handle error
  115. if(curl_errno($handle)) {
  116. $result->httpStatusCode = 0;
  117. $result->connectionError = self::$curlError[curl_errno($handle)];
  118.  
  119. return $result;
  120. }
  121.  
  122. $result->httpStatusCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
  123.  
  124. curl_close($handle);
  125.  
  126. //var_dump($result);
  127.  
  128. return $result;
  129. }
  130. }
  131.  
  132.  
  133.  
  134. class Result {
  135. public $url;
  136. public $httpStatusCode;
  137. public $connectionError;
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement