Topic: Empty response from Vanguard starting in July 2017

Vanguard seems to respond with an empty response now (but 200 return code).  To get the data you need to reissue the request with the cookies it sets in the response.  I added this to my fork of ofx-ba-tfb.py:

            response = res.read()
            res.close()
--- start new code ---
            # Vangaurd requres the request to have cookies it sets
            # (returns empty 200 response the first time)
            if (len(response) == 0):
                cookies = res.getheader('Set-Cookie')
                response_cookies = [c.split("; ")[0] for c in cookies.split(", ")]
                h.request('POST', selector, query,
                    { "Content-type": "application/x-ofx",
                      "Accept": "*/*, application/x-ofx",
                      "Cookie": "; ".join(response_cookies)
                    })
                res = h.getresponse()
                response = res.read()
                res.close()
--- end new code ---
            f = file(name,"w")
            f.write(response)
            f.close()