I assume you don't control the sites you are redirecting to?
How about using the M$ XMLHTTP object?
Here's a simple little example of it in action (sorry but it's in my preferred ASP language, Javascript).
<%@language="javascript" enablesessionstate="false"%>
<%
var url = new String(Request.QueryString("URL"

);
var startmarker = new String(Request.QueryString("start"

);
var stopmarker= new String(Request.QueryString("stop"

);
var avoiddomain= new String(Request.QueryString("avoiddomain"

);
var trimstop= new String(Request.QueryString("trimstop"

);
if (isNaN(trimstop)) trimstop = 0;
if (url != "undefined"

{
url = "
+ url.replace("
""

var http = Server.CreateObject("Microsoft.XMLHTTP"

;
http.open("GET", url, false);
http.setRequestHeader("Content-type:", "text/html"

;
try{
http.send();
if (http.statusText == "OK"

{
var output = new String(http.responseText);
if (output != "undefined" && startmarker != "undefined"

output = output.substring(output.indexOf(startmarker), output.length);
if (output != "undefined" && stopmarker != "undefined"
output = output.substring(0, output.indexOf(stopmarker) + stopmarker.length * (1 - trimstop));
output = output.replace(/http:\/\//gi, "
if (output != "undefined" && avoiddomain != "undefined"
var avoiddomainre = new RegExp("href=\".*" + avoiddomain + ".*\"", "gi"

;
output = output.replace(avoiddomainre, "name=\"\""

;
if (output != "undefined"

Response.write(output);
}
}catch(e){
%><html>
<body>
<% Response.write(e);
%> </body>
</html>
<% }
http = null;
}
%>
This doesn't quite do what you want, but with minor modifications it could (note in particular the statusText property above).
codestorm
Fire bad. Tree pretty. - Buffy
Kludges are like lies.
You're not a complete programmer unless you know how to guess.
I hope I never consider myself an 'expert'.
<insert witticism here>