in reply to Perl Internet Proxy for Windows

I posted two different pieces of proxy code before, for different purposes, you can take a look at them: piece1 and piece2.

However none of them filters requests, instead just pass everything thru.

What you can do is, as you said, to keep a black list, and when a request come into your proxy from your browser, have your proxy look at both the Host field and the url following GET, to determine whether should let it go through or not, if not just let your proxy reply with HTTP 404 (not found) or even better 403 (forbidden).

In this way, your browser would still work properly. 403 is better as it fits the purpose perfectly, and also HTTP 1.1 says that, the client should not repeat the request after receives 403.