473,396 Members | 1,864 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Looking for an http proxy server written in Python

Is there such a beast? In particular, I'm looking for a
production-quality proxy server fully compliant with HTTP/1.1 written in
Python.

If there isn't, is there anything that comes close?

Thanks for any help you can throw my way,
Chris Gray

"Okey dokey.. free my mind. Right, no problem, free my mind, free my mind,
no problem, right... " -The Matrix
Jul 18 '05 #1
8 11701
[Chris Gray]
I'm looking for a
production-quality proxy server fully compliant with HTTP/1.1 written in
Python.

If there isn't, is there anything that comes close?


That depends on what you want the proxy to do.

Check the following page for a list of python http proxies.

http://xhaus.com/alan/python/proxies.html

If there's nothing there that catches your eye, then give a clearer
indication of what you need the proxy to do.

regards,

--
alan kennedy
-----------------------------------------------------
check http headers here: http://xhaus.com/headers
email alan: http://xhaus.com/mailto/alan
Jul 18 '05 #2
Chris wrote:
Is there such a beast? In particular, I'm looking for a
production-quality proxy server fully compliant with HTTP/1.1 written in
Python.
Forward or reverse proxy?
If there isn't, is there anything that comes close?


Alan Kennedy has this page:

http://xhaus.com/alan/python/proxies.html

See also:

http://groups.google.com/groups?th=9171610619278850

Which one to use really depends on what you need it for.

HTH,
Dave

Jul 18 '05 #3
Thanks, Alan,

Your resource page is very helpful and your "Why" section explains exactly
why I'm interested in this. At first blush it looks like httpMonitor is
most in line with what I'm planning, namely, the ability to do arbitrary
processing on requests and responses.

The problem I've run across so far is transparency and performance. I've
written my own proxy server and experimented with WebDebug and found that
some things slow down considerably and other things don't seem to pass
through at all. I want, as much as possible, for the proxy to pass
requests and responses through in a way that makes no difference to the
client, but gives me a hook to hang selective logging, storage, and other
processing on.

That's why I specified production-quality and HTTP/1.1 compliance. If I
could just find a proxy server that forwarded requests and responses
seamlessly, I'd be happy.

Thanks again,
Chris

"Okey dokey.. free my mind. Right, no problem, free my mind, free my mind,
no problem, right... " -The Matrix

On Tue, 18 Nov 2003, Alan Kennedy wrote:
[Chris Gray]
I'm looking for a
production-quality proxy server fully compliant with HTTP/1.1 written in
Python.

If there isn't, is there anything that comes close?


That depends on what you want the proxy to do.

Check the following page for a list of python http proxies.

http://xhaus.com/alan/python/proxies.html

If there's nothing there that catches your eye, then give a clearer
indication of what you need the proxy to do.

regards,

--
alan kennedy
-----------------------------------------------------
check http headers here: http://xhaus.com/headers
email alan: http://xhaus.com/mailto/alan

Jul 18 '05 #4
Chris Gray <cp****@library.uwaterloo.ca> writes:
Is there such a beast? In particular, I'm looking for a
production-quality proxy server fully compliant with HTTP/1.1 written in
Python.


I sometimes use Amit Patel's proxy3 for web surfing, but I don't know
if I'd call it production quality because it's so slow. I don't know
if anything can be done about that, because Python itself is pretty
slow. You may need to bite the bullet and use Squid or the Apache
proxy module or something like that. I've had reasonable success
hacking various html rewriting features into the Apache module when
such things were needed.
Jul 18 '05 #5
You might want to have a look at Willow from www.digitallumber.com.

Regards

John

Chris Gray wrote:
Thanks, Alan,

Your resource page is very helpful and your "Why" section explains exactly
why I'm interested in this. At first blush it looks like httpMonitor is
most in line with what I'm planning, namely, the ability to do arbitrary
processing on requests and responses.

The problem I've run across so far is transparency and performance. I've
written my own proxy server and experimented with WebDebug and found that
some things slow down considerably and other things don't seem to pass
through at all. I want, as much as possible, for the proxy to pass
requests and responses through in a way that makes no difference to the
client, but gives me a hook to hang selective logging, storage, and other
processing on.

That's why I specified production-quality and HTTP/1.1 compliance. If I
could just find a proxy server that forwarded requests and responses
seamlessly, I'd be happy.

Thanks again,
Chris

"Okey dokey.. free my mind. Right, no problem, free my mind, free my mind,
no problem, right... " -The Matrix

On Tue, 18 Nov 2003, Alan Kennedy wrote:
[Chris Gray]

I'm looking for a
production-quality proxy server fully compliant with HTTP/1.1 written in
Python.

If there isn't, is there anything that comes close?

That depends on what you want the proxy to do.

Check the following page for a list of python http proxies.

http://xhaus.com/alan/python/proxies.html

If there's nothing there that catches your eye, then give a clearer
indication of what you need the proxy to do.

regards,

--
alan kennedy
-----------------------------------------------------
check http headers here: http://xhaus.com/headers
email alan: http://xhaus.com/mailto/alan

Jul 18 '05 #6
On Tue, 18 Nov 2003, it was written:

I sometimes use Amit Patel's proxy3 for web surfing, but I don't know
if I'd call it production quality because it's so slow. I don't know
if anything can be done about that, because Python itself is pretty
slow. You may need to bite the bullet and use Squid or the Apache
proxy module or something like that. I've had reasonable success
hacking various html rewriting features into the Apache module when
such things were needed.


I may have a look at Squid and mod_proxy (and Jigsaw to boot) at some
point. I'm not as worried about speed as I am about choking on requests
that can't be handled. I'm not trying to do the processing in real time;
that is, the results of the processing don't have to be available to the
client in real time.

Thanks for the feedback,
Chris
Jul 18 '05 #7
On Wed, 19 Nov 2003, John Abel wrote:
You might want to have a look at Willow from www.digitallumber.com.

Regards


Thanks, I hadn't run across this before. Looks interesting.

Cheers,
Chris
Jul 18 '05 #8
Chris Gray wrote:
Your resource page is very helpful and your "Why" section explains
exactly why I'm interested in this. At first blush it looks like
httpMonitor is most in line with what I'm planning, namely, the
ability to do arbitrary processing on requests and responses.
I've tried to make the page a little more useful now, by adding
freshness dates, and a better overview of the features offered by the
various proxies.

http://www.xhaus.com/alan/python/proxies.html
That's why I specified production-quality and HTTP/1.1 compliance. If I
could just find a proxy server that forwarded requests and responses
seamlessly, I'd be happy.


FWIW, I mostly run a very simple proxy, derived from Suzuki Hisao's
Tiny proxy, to do protocol and resource logging, which I need when I'm
doing functional and load testing. I store the output in python
syntax, to be fed straight back into a python program. One of these
days I might clean it up a little and release it.

If you have any comments about the page, I'd be happy to hear them.

One of these days, I'm going to a full-on software review of the
proxies for a variety of different purposes. Content filtering and
blocking seems to be much in demand.

regards,

--
alan kennedy
-----------------------------------------------------
check http headers here: http://xhaus.com/headers
email alan: http://xhaus.com/mailto/alan
Jul 18 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Fuzzyman | last post by:
Xavier Defrang has written an HTTP Debugging Proxy. This message is basically for him - since he says on his website that he inhabits this newsgroup. I downloaded this and ran it , with the...
7
by: Michael Foord | last post by:
#!/usr/bin/python -u # 15-09-04 # v1.0.0 # auth_example.py # A simple script manually demonstrating basic authentication. # Copyright Michael Foord # Free to use, modify and relicense. #...
3
by: Patrick Fogarty | last post by:
I am programming what is to be a web service client that will use an HTTP-POST to request and retrieve data. The remote server (written in java for what it's worth) requires basic authentication...
8
by: Tim Reynolds | last post by:
Our .Net application calls a web method of aplpication 2 that resides on their Apache server. When I as a developer C#, Studios 2003, make the call to their web method from my desktop, I receive no...
0
by: Fred Pacquier | last post by:
Hello, I would be grateful if someone could point me to an existing and working http proxy implementation that satisfies the following requirements : - as small and simple as possible, ideally...
2
by: Robin Haswell | last post by:
Hey there Soon we will have many squid proxies on many seperate connections for use by our services. I want to make them available to users via a single HTTP proxy - however, I want fine-grained...
0
by: Dan Lenski | last post by:
Hi all, I've recently written an HTTP proxy server for the Motorola E815 cell phone, based on Suzuki Hisao's "Tiny HTTP Proxy" (http:// www.okisoft.co.jp/esc/python/proxy/). This cell phone...
0
by: =?Utf-8?B?TWlrZTEz?= | last post by:
Sorry for the cross post from dontnet.framework but I'm hoping this may see more activity here. I have written an application to access a web service. The application runs at multiple sites and...
2
by: =?Utf-8?B?U2Fs?= | last post by:
<I MOVED THIS POST TO ITS OWN THREAD. ORIGINAL POST FOUND HERE:...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.