
All, I am looking into developing an HTTP Proxy with content filtering and other mechanism as a fun project. Is there anything available in BOOST or in other libraries that I can read upon and use them. Specifically, I need to have HTML Parser and some sort of Proxy implementation. Few features that I aiming for are: 1. Intercept request on port 80. 2. Retrieve entire page and parse the page and check with current rules. 3. URL checking with current policy. Thanks, -AP

Hi,
All, I am looking into developing an HTTP Proxy with content filtering and other mechanism as a fun project. Is there anything available in BOOST or in other libraries that I can read upon and use them. Specifically, I need to have HTML Parser and some sort of Proxy implementation. Few features that I aiming for are: 1. Intercept request on port 80. 2. Retrieve entire page and parse the page and check with current rules. 3. URL checking with current policy.
Thanks, -AP You can use Boost.Asio for the socket-stuff (input+output). Parsing HTTP-Headers and HTML could be done using Boost.Spirit (but this is difficult if you are not used to it). You can also search within the Headers using Xpressive, which is much easier to learn, but not as fast as Spirit.
If you are new to boost, you may look at boost.Bind and Smart-Pointers first. Regards, michi7x7

Thank you for the response. ASIO appears to be perfect candidate for the
Proxy implementation, examples are also very helpful. I am new to Spirit
and Xpressive. I have used Smart-Pointers in past, need to look at the
Bind.
Any other advise?
-AP
On Thu, Sep 16, 2010 at 11:50 AM, michi7x7
Hi,
All,
I am looking into developing an HTTP Proxy with content filtering and other mechanism as a fun project. Is there anything available in BOOST or in other libraries that I can read upon and use them. Specifically, I need to have HTML Parser and some sort of Proxy implementation. Few features that I aiming for are: 1. Intercept request on port 80. 2. Retrieve entire page and parse the page and check with current rules. 3. URL checking with current policy.
Thanks, -AP
You can use Boost.Asio for the socket-stuff (input+output). Parsing HTTP-Headers and HTML could be done using Boost.Spirit (but this is difficult if you are not used to it). You can also search within the Headers using Xpressive, which is much easier to learn, but not as fast as Spirit.
If you are new to boost, you may look at boost.Bind and Smart-Pointers first.
Regards,
michi7x7 _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

On 16 September 2010 18:10, Anand Patel
Thank you for the response. ASIO appears to be perfect candidate for the Proxy implementation, examples are also very helpful. I am new to Spirit and Xpressive. I have used Smart-Pointers in past, need to look at the Bind. Any other advise? -AP
On Thu, Sep 16, 2010 at 11:50 AM, michi7x7
wrote: Hi,
All, I am looking into developing an HTTP Proxy with content filtering and other mechanism as a fun project. Is there anything available in BOOST or in other libraries that I can read upon and use them. Specifically, I need to have HTML Parser and some sort of Proxy implementation. Few features that I aiming for are: 1. Intercept request on port 80. 2. Retrieve entire page and parse the page and check with current rules. 3. URL checking with current policy.
Thanks, -AP
You can use Boost.Asio for the socket-stuff (input+output). Parsing HTTP-Headers and HTML could be done using Boost.Spirit (but this is difficult if you are not used to it). You can also search within the Headers using Xpressive, which is much easier to learn, but not as fast as Spirit.
If you are new to boost, you may look at boost.Bind and Smart-Pointers first.
Regards,
michi7x7 _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Have a look at http://alexott.net/en/cpp/BoostAsioProxy.html, that should get you going. Regards, Jeroen Habraken
participants (3)
-
Anand Patel
-
Jeroen Habraken
-
michi7x7