PUT with proxy-support
Laszlo Nagy
gandalf at shopzeus.com
Fri Aug 26 05:45:39 EDT 2011
Running pycurl-7.19.0/setup.py -q bdist_egg --dist-dir
/tmp/easy_install-2ZCa8v/pycurl-7.19.0/egg-dist-tmp-DyHFls
> Using curl-config (libcurl 7.12.1)
> src/pycurl.c:42:20: Python.h: No such file or directory
> src/pycurl.c:43:22: pythread.h: No such file or directory
> src/pycurl.c:58:4: #error "Need Python version 2.2 or greater to
> compile pycurl."
> src/pycurl.c:61:4: #error "Need libcurl version 7.19.0 or greater to
> compile pycurl."
> [... Error Clipped]
> error: Setup script exited with error: command '/usr/bin/gcc' failed
> with exit status 1
I'm not familiar with red hat. But looks like this is now a sysadmin
problem. I could install pycurl under freebsd and ubuntu too.
I have some code that might be able to PUT through a proxy for you.
Please look at the attached file.
You can setup a proxy this way:
import MozzillaEmulator
MozzillaEmulator.DEFAULT_PROXIES = {
'http':'http://user:password@proxy.host.com:3128',
'https':'http://user:password@proxy.host.com:3128',
}
And here is how you use it:
dl = MozillaEmulator.MozillaEmulator()
put_url = "http://some_url_to_put_to"
headers = {'Content-Type':'application/xml;charset=UTF-8'}
data = open("some_file","rb").read()
response = dl.download(put_url,data,headers,put_method=True)
If you don't set the put_method flag, then it will POST instead. (But in
that case, post data must be a valid post data field fields and values.)
If you don't give post_data then it will GET. The PUT method was tested
without a proxy, and the GET and POST methods were tested with and
without proxy.
Actually I have tried to do PUT through a proxy, but it didn't work. But
it was a restriction on the proxy side. (As far as I can recall, the
error message came from the proxy server, something about unsupported
request?). So it *might* work for you, with the right proxy server that
supports PUT requests.
Also be aware that this version uses urllib2. Although it can use https
protocol, it doesn't check the server's certificate.
Good luck,
Laszlo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MozillaEmulator.py
Type: text/x-python
Size: 12093 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-list/attachments/20110826/b126545e/attachment-0001.py>
More information about the Python-list
mailing list