HTTP Header Viewer... Do I need regexps?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everyone,

  I've been putzing with this for about a week on and off now.

  I've googled like crazy and tried to figure out the regexps, but I
  can't just get it.

  What I'm doing is taking some code I found to show me the HTTP
  headers from a remote server and making it a bit more dynamic with a
  runtime input, and to format the output nicely. I can retrieve the
  headers just fine, but I can't get the output broken out into pieces
  from the returned single line.

  i.e.
  
  HTTP/1.1 200 OK Date: Tue, 20 Apr 2004 17:28:23 GMT Server: Microsoft-IIS/5.0 Last-modified: Thu, 01 Jan 2004 19:56:39 GMT Connection: close Content-type: text/html

  I want to format it as such by breaking each line into its own
  array element:

  HTTP/1.1 200 OK
  Date: Tue, 20 Apr 2004 17:28:23 GMT
  Server: Microsoft-IIS/5.0
  Last-modified: Thu, 01 Jan 2004 19:56:39 GMT
  Connection: close
  Content-type: text/html

  Any help would really be appreciated.

  BTW, this is PHP 4.3.4 on Win2K Pro running under Sambar.

  Here's the code:

,------ [  ]
| <HTML>
| <HEAD>
| </HEAD>
| <BODY>
| 
| This will return the HTTP headers for a site to determine SERVER type, cookies, sessions etc.
| <br><br>
| 
| <form>
| <input type="text" name="URL" value="URL">
| <input type="SUBMIT" name="SUBMIT">
| </form>
| 
| <? 
| if (isset($_GET['URL']))
| {
|   $fp = fsockopen ($_GET['URL'], 80, $errno, $errstr, 30); 
|   if (!$fp) 
|     { 
|       echo "$errstr ($errno)<br>\n"; 
|       } 
|   else 
|     { 
|       fputs($fp, "GET / HTTP/1.0\r\nHost: " . $_GET['URL'] . "\r\n\r\n"); 
|       
|     //This part allows me to see the headers but on a single line
|       //while (!feof($fp))
|       //{ 
|       //  echo fgets($fp,256); 
|       //  } 
|       //fclose ($fp); 
|       //} 
|       
|     //This is the part I can't figure out
|       preg_match_all ("Date:\s*.*?\s\S*:\s*|\z", fgets($fp,256), $server);
|       echo $server;
|       fclose($fp);
|       }
|
|
|     //Some other stuff I tried.
|       //preg_match_all ("/HTTP.*?K/", fgets($fp,256), $server);
|       //echo $server[1];
|       //fclose($fp);
|       //}
|       //echo "Method: " . substr("$pagedata", 0, 15) . "<br />";
|       //echo substr("$pagedata", 16, 36) . "<br />";
|       //echo substr("$pagedata", 52, 67) . "<br />";
|
|   }
|   
| ?>
| </BODY>
| </HTML>
`----------

  


Tagline of the day:
The problem with paradigms is that shift happens.



-- 
Leif (TB lists moderator and fellow end user).

Using The Bat! 2.10 RC/1 under Windows 2000 5.0
Build 2195 Service Pack 4 on a Pentium 4 2GHz with 512MB

-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux