Difference between revisions of "Proxy basic.py"
Jump to navigation
Jump to search
PeterHarding (talk | contribs) (Created page with '=Script= <pre> $ cat proxy_basic.py #!/usr/bin/env python # # # #------------------------------------------------------------------------------- import sys import base64 impor...') |
PeterHarding (talk | contribs) |
||
| Line 70: | Line 70: | ||
</pre> | </pre> | ||
=NTLM Needed!= | |||
<pre> | |||
cat proxy_get.py | |||
#!/usr/bin/env python | |||
# | |||
# | |||
# | |||
#------------------------------------------------------------------------------- | |||
import sys | |||
import base64 | |||
import httplib | |||
#------------------------------------------------------------------------------- | |||
passwd = 'xxx' | |||
#------------------------------------------------------------------------------- | |||
def do(): | |||
conn = httplib.HTTPConnection('10.10.10.10', 8080) | |||
conn.putrequest("GET", "http://www.google.com.au/") | |||
conn.putheader('Accept', 'text/html') | |||
conn.putheader('Accept', 'text/plain') | |||
auth = "Basic " + base64.encodestring("name:%s" % passwd) | |||
conn.putheader('Proxy-Authorization', auth) | |||
conn.endheaders() | |||
#errcode, errmsg, headers = conn.getresponse() | |||
rc = conn.getresponse() | |||
# print errcode | |||
# print errmsg | |||
# print headers | |||
# f = conn.getfile() | |||
# for line in f.readlines(): | |||
# print line | |||
# rc = conn.getresponse() | |||
print rc.__dict__ | |||
print rc.status, rc.reason | |||
print rc.msg | |||
data = rc.read() | |||
# print data | |||
conn.close() | |||
#------------------------------------------------------------------------------- | |||
def main(args): | |||
do() | |||
#------------------------------------------------------------------------------- | |||
if __name__ == "__main__": | |||
main(sys.argv[1:]) | |||
#------------------------------------------------------------------------------- | |||
""" | |||
$ ./proxy_get.py | |||
{'fp': <socket._fileobject object at 0x7fedc09c>, 'status': 407, 'will_close': True, 'chunk_left': 'UNKNOWN', 'length': 2377, 'strict': 0, 'reason': 'Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. )', 'version': 11, 'debuglevel': 0, 'msg': <httplib.HTTPMessage instance at 0x7ff4178c>, 'chunked': 0, '_method': 'GET'} | |||
407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. ) | |||
Via:1.1 PROXY | |||
Proxy-Authenticate: NTLM | |||
Proxy-Authenticate: Basic realm="PROXY.dmz.performiq.com.au" | |||
Proxy-Authenticate: Kerberos | |||
Proxy-Authenticate: Negotiate | |||
Connection: close | |||
Proxy-Connection: close | |||
Pragma: no-cache | |||
Cache-Control: no-cache | |||
Content-Type: text/html | |||
Content-Length: 2377 | |||
""" | |||
</pre> | |||
[[Category:Python]] | [[Category:Python]] | ||
[[Category:. httplib]] | [[Category:. httplib]] | ||
[[Category:Examples]] | [[Category:Examples]] | ||
Revision as of 17:35, 29 April 2009
Script
$ cat proxy_basic.py
#!/usr/bin/env python
#
#
#
#-------------------------------------------------------------------------------
import sys
import base64
import httplib
import urllib2
#-------------------------------------------------------------------------------
def do():
proxy_support = urllib2.ProxyHandler({"http":"http://proxy:8080"})
http_support = urllib2.HTTPHandler()
opener = urllib2.build_opener(proxy_support, http_support)
urllib2.install_opener(opener)
connf = urllib2.urlopen('http://www.python.org/')
auth = "Basic " + base64.encodestring("xxx:xxx")
conn.putheader('Proxy-Authorization', auth)
conn.endheaders()
#errcode, errmsg, headers = conn.getresponse()
rc = conn.getresponse()
# print errcode
# print errmsg
# print headers
# f = conn.getfile()
# for line in f.readlines():
# print line
# rc = conn.getresponse()
print rc.__dict__
print rc.status, rc.reason
print rc.msg
data = rc.read()
# print data
conn.close()
#-------------------------------------------------------------------------------
def main(args):
do()
#-------------------------------------------------------------------------------
if __name__ == "__main__":
main(sys.argv[1:])
#-------------------------------------------------------------------------------
NTLM Needed!
cat proxy_get.py
#!/usr/bin/env python
#
#
#
#-------------------------------------------------------------------------------
import sys
import base64
import httplib
#-------------------------------------------------------------------------------
passwd = 'xxx'
#-------------------------------------------------------------------------------
def do():
conn = httplib.HTTPConnection('10.10.10.10', 8080)
conn.putrequest("GET", "http://www.google.com.au/")
conn.putheader('Accept', 'text/html')
conn.putheader('Accept', 'text/plain')
auth = "Basic " + base64.encodestring("name:%s" % passwd)
conn.putheader('Proxy-Authorization', auth)
conn.endheaders()
#errcode, errmsg, headers = conn.getresponse()
rc = conn.getresponse()
# print errcode
# print errmsg
# print headers
# f = conn.getfile()
# for line in f.readlines():
# print line
# rc = conn.getresponse()
print rc.__dict__
print rc.status, rc.reason
print rc.msg
data = rc.read()
# print data
conn.close()
#-------------------------------------------------------------------------------
def main(args):
do()
#-------------------------------------------------------------------------------
if __name__ == "__main__":
main(sys.argv[1:])
#-------------------------------------------------------------------------------
"""
$ ./proxy_get.py
{'fp': <socket._fileobject object at 0x7fedc09c>, 'status': 407, 'will_close': True, 'chunk_left': 'UNKNOWN', 'length': 2377, 'strict': 0, 'reason': 'Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. )', 'version': 11, 'debuglevel': 0, 'msg': <httplib.HTTPMessage instance at 0x7ff4178c>, 'chunked': 0, '_method': 'GET'}
407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. )
Via:1.1 PROXY
Proxy-Authenticate: NTLM
Proxy-Authenticate: Basic realm="PROXY.dmz.performiq.com.au"
Proxy-Authenticate: Kerberos
Proxy-Authenticate: Negotiate
Connection: close
Proxy-Connection: close
Pragma: no-cache
Cache-Control: no-cache
Content-Type: text/html
Content-Length: 2377
"""