Hi,
I followed http://dabase.com/blog/Minimal_squid3_proxy_configuration/ to
setup proxy server.
I tested proxy server with firefox with IP:127.0.0.1/192.168.1.6 and
Port:3128 and it working (asking for proxy username and password).
But, i could not make http connection through proxy server requiring
authentication using following python code..
*########## Python code ########## *
import urllib2, urllib
proxy = urllib2.ProxyHandler({'http': 'http://saju:[email protected]:3128'})
auth = urllib2.HTTPBasicAuthHandler()
opener = urllib2.build_opener(proxy, auth, urllib2.HTTPHandler)
urllib2.install_opener(opener)
conn = urllib2.urlopen('http://python.org')
return_str = conn.read()
print "========return_str======", return_str
*==== ERROR ==== *
(tg2env)saju@saju-desktop:~$ python py_proxy.py
Traceback (most recent call last):
File "py_proxy.py", line 9, in <module>
conn = urllib2.urlopen('http://python.org')
File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 406, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 519, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 444, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 527, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 407: Proxy Authentication Required
*########## Proxy Server Settings ########## *
sudo vim /etc/squid3/squid.conf
------------------------------
http_access allow localhost
auth_param digest program /usr/lib/squid3/digest_pw_auth -c
/etc/squid3/passwords
auth_param digest realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all
http_port 3128
Setting up user
--------------
htdigest -c /etc/squid3/passwords proxy saju
*======================*
(tg2env)saju@saju-desktop:~$ sudo cat /etc/squid3/squid.conf | grep ^[^#]
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
auth_param digest program /usr/lib/squid3/digest_pw_auth -c
/etc/squid3/passwords
auth_param digest realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all
http_port 3128
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
(tg2env)saju@saju-desktop:~$
_______________________________________________
BangPypers mailing list
[email protected]
http://mail.python.org/mailman/listinfo/bangpypers