captin411 / ofxclient

Bank transaction downloader and python OFX client libraries
MIT License
261 stars 89 forks source link

Vanguard Failing #86

Open scanlom opened 3 years ago

scanlom commented 3 years ago

Vanguard downloads are suddenly failing, does anyone have the same issue? I'm kicked out to a "The page you're trying to reach is currently unavailable". OFXHome shows it's been failing consistently since Sep 16th - https://www.ofxhome.com/index.php/institution/history/479

emin63 commented 3 years ago

I tried downloading from Vanguard and also got various errors. I suspect it is the fault of Vanguard. Note that you can manually download OFX data from Vanguard and then use various tools to parse it. Good luck and please post back here if you get ofxclient to work on Vanguard.

jackpot51 commented 3 years ago

This is a vanguard issue, Quicken is having the same issue too and there is more information about it here:

https://community.quicken.com/discussion/7881217/vanguard-account-gets-a-ol-293-a-error/p4

rkhwaja commented 3 years ago

According to someone on ofxhome.com, you can get around it by tweaking the newlines, but I think that the ofxclient output has newlines in either case.

aclindsa commented 3 years ago

Given my findings at https://github.com/csingley/ofxtools/issues/94#issuecomment-728671212, and the original ofxclient fix for Vanguard (https://github.com/captin411/ofxclient/pull/47), I suspect the most expedient way to allow Vanguard downloads to work is to change the line at https://github.com/captin411/ofxclient/blob/master/ofxclient/client.py#L135 from:

if len(response) == 0 and cookies is not None and res.status == 200:

to

if len(response) == 0 and cookies is not None and res.status == 500:
emin63 commented 3 years ago

Given my findings at csingley/ofxtools#94 (comment), and the original ofxclient fix for Vanguard (#47), I suspect the most expedient way to allow Vanguard downloads to work is to change the line at https://github.com/captin411/ofxclient/blob/master/ofxclient/client.py#L135

Thank you for the suggestion. I tried that but I continue to get an error from Vanguard. Has anyone been able to download from Vanguard using ofxclient?

aclindsa commented 3 years ago

@emin63 If you post the error message you are seeing, it may help others better understand the issue you're seeing. It's hard for me to figure out why my suggested fix didn't work for you without more detail.

emin63 commented 3 years ago

@emin63 If you post the error message you are seeing, it may help others better understand the issue you're seeing. It's hard for me to figure out why my suggested fix didn't work for you without more detail.

Good point. I get basically an HTML response saying the page is unavailable:

<html>
<head>

<link rel="stylesheet" href="https://static.vgcontent.info/ret/hnw/web/stylesheet/VGI.css?20200409|145517" type="text/css">
<link rel="stylesheet" href="https://static.vgcontent.info/ret/hnw/web/stylesheet/1.css?20200409|145517" type="text/css">

<script type="text/javascript" src="https://static.vgcontent.info/ret/hnw/web/javascript/jsfunctions.js?20200409|145517"></script>
<script type="text/javascript">
<!--
function jsCBDgetUrlPrefix()
{
        return 'http://personal.vanguard.com';
}

function getContactUsURL()//Used to determine correct contact us link
{
        var contactUsURL = '/us';
        if(false)
        {
                contactUsURL += "/site/institutional/contactus";
        }
        else if(false)
        {
                contactUsURL += "/site/advisor/globalelements/contactus";
        }
        else
        {
                contactUsURL += "/content/UtilityBar/SiteHelp/SiteHelp/ContactUsPublicContent.jsp";
        }

        return contactUsURL;
}

//-->
</script>

<meta name="CBD_FULL_PAGE" content=""/>
</head>
<body>
<div id="gh">
        <div id="header" class="dis">
                <div id="util">
                        <div id="segment"><b></b></div>
                </div>
                <div id="brand">
                        <img src="https://static.vgcontent.info/ret/hnw/web/images/gh/vgi_lockup.gif" alt="Vanguard" width="148" height="37" border="0" />
                </div>
        </div>
<a name="cbd_top"></a>
</div>

<table id="columnContainer" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" id="colL">
        <div id="colLcontent">&nbsp;</div>
</td>
<td valign="top" id="colM">
        <div id="colMcontent">
                <table width="100%" cellpadding="0" cellspacing="0">
                <tr>
                        <td>
                                <p style="font: bold 80% Verdana, Arial, Helvetica, sans-serif">
                                The page you're trying to reach is currently unavailable. This
                                may be a temporary error, so please try again. If the problem persists,
                                <a href="#" onclick="javascript:jsCBDopenStdWin(getContactUsURL(),CBD_MODAL_POP,'yes','yes',POPUP_SIZE1);">contact us</a>.
                                </p>
                                </td>
                </tr>
                </table>
        </div>
</td>
</tr>
</table>

</body>
</html>
aclindsa commented 3 years ago

Interesting. What HTTP status code are you receiving? At first glance, this seems like it may be a different issue than the one I was facing - I was receiving 500.

Are you able to fetch OFX for your Vanguard accounts with any other libraries/software?