FWIW, I haven't seen any 404's since around these times from last night:

Feb  4 20:43:52 Wunderground-RF: Failed upload attempt 1: HTTP Error 404: Not 
Found
Feb  4 20:43:52 Wunderground-RF: Failed to publish record 2020-02-04 20:43:53 
EST (1580867033): Failed upload after 1 tries
Feb  4 20:49:10 Wunderground-RF: Failed upload attempt 1: <urlopen error 
_ssl.c:1039: The handshake operation timed out>
Feb  4 20:49:10 Wunderground-RF: Failed to publish record 2020-02-04 20:48:49 
EST (1580867329): Failed upload after 1 tries
Feb  4 20:49:45 Wunderground-RF: Failed upload attempt 1: <urlopen error timed 
out>
Feb  4 20:49:45 Wunderground-RF: Failed to publish record 2020-02-04 20:49:15 
EST (1580867355): Failed upload after 1 tries
Feb  4 20:50:19 Wunderground-RF: Failed upload attempt 1: <urlopen error timed 
out>
Feb  4 20:50:19 Wunderground-RF: Failed to publish record 2020-02-04 20:49:49 
EST (1580867389): Failed upload after 1 tries
Feb  4 21:04:41 Wunderground-RF: Failed upload attempt 1: <urlopen error [Errno 
104] Connection reset by peer>
Feb  4 21:04:41 Wunderground-RF: Failed to publish record 2020-02-04 21:04:41 
EST (1580868281): Failed upload after 1 tries
Feb  4 21:04:44 Wunderground-RF: Failed upload attempt 1: HTTP Error 404: Not 
Found


Regards,
\Leon
--
Leon Shaner :: Dearborn, Michigan (iPad)

> On Feb 4, 2020, at 9:15 PM, Thomas Keffer <[email protected]> wrote:
> 
> 
> I agree with your conclusions. I learned a long time ago not to waste too 
> much energy chasing WU flaws. There are many, and they come and go. Good way 
> to frustrate yourself...😞
> 
>> On Mon, Feb 3, 2020 at 4:32 PM Leon Shaner <[email protected]> wrote:
>> Tom, All,
>> 
>> On that WU forum, an official rep said the rtupdate and weatherstation URL's 
>> go the same place.
>> He said it shouldn't matter which one.  So we can converge on a single URL.
>> 
>> This is down to same old same old "WU is a steaming pile" being the reason 
>> for the 404's.
>> 
>> Regards,
>> \Leon
>> --
>> Leon Shaner :: Dearborn, Michigan (iPad)
>> 
>>>> On Feb 3, 2020, at 3:35 PM, Leon Shaner <[email protected]> wrote:
>>>> 
>>>  Hey, WeeWx'ers.
>>> 
>>> Even my workaround of setting pws_url to the value of the rf_url is still 
>>> getting 404's, even if I explicitly set a Host header.   :-(((((
>>> 
>>> This is what I have tried...  I guess WU is just a steaming pile as per 
>>> usual.  :-/
>>> 
>>> Here is my attempted fix, which is part hack.
>>> The "fix" is adding the header.   The "hack" is forcing the code to use the 
>>> rtupdate URL (because I couldn't spot why the PWS URL was being used for 
>>> RF).
>>> 
>>> $ diff restx.py restx.py_getting404 
>>> 100d99
>>> < from urllib.parse import urlparse
>>> 454,458c453
>>> <         _parseduri = urlparse(url)
>>> <         _parsedhost = '{uri.netloc}'.format(uri=_parseduri)
>>> <         _request.add_header("Host", "%s" % _parsedhost)
>>> < #        log.debug("%s: Added Header: 'Host: %s'"
>>> < #                  % (self.protocol_name, _parsedhost))
>>> ---
>>> >         _request.add_header("User-Agent", "weewx/%s" % weewx.__version__)
>>> 610,611c605
>>> <     #pws_url = 
>>> "https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php";
>>> <     pws_url = 
>>> "https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php";
>>> ---
>>> >     pws_url = 
>>> > "https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php";
>>> 
>>> Or in case your line numbers don't match mine (likely), here it is in 
>>> context:
>>> ...
>>> # Python 2/3 compatiblity shims
>>> import six
>>> from six.moves import http_client
>>> from six.moves import queue
>>> from six.moves import urllib
>>> from urllib.parse import urlparse
>>> 
>>> ...
>>> 
>>>     def get_request(self, url):
>>>         """Get a request object. This can be overridden to add any special 
>>> headers."""
>>>         _request = urllib.request.Request(url)
>>>         _parseduri = urlparse(url)
>>>         _parsedhost = '{uri.netloc}'.format(uri=_parseduri)
>>>         _request.add_header("Host", "%s" % _parsedhost)
>>> #        log.debug("%s: Added Header: 'Host: %s'"
>>> #                  % (self.protocol_name, _parsedhost))
>>>         _request.add_header("User-Agent", "weewx/%s" % weewx.__version__)
>>>         return _request
>>> 
>>> 
>>> ...
>>> 
>>>     # the rapidfire URL:
>>>     rf_url = 
>>> "https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php";
>>>     # the personal weather station URL:
>>>     #pws_url = 
>>> "https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php";
>>>     pws_url = 
>>> "https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php";
>>> 
>>> 
>>> 
>>> 
>>> [email protected] - Dearborn, Michigan
>>>> On 2/3/20 2:43 PM, Leon Shaner wrote:
>>>> Tom,
>>>> 
>>>> Looking at the code, under the do_rapidfire_post, we clearly see it uses 
>>>> rf_url.  In my debug output I referenced protocol_name and it's showing 
>>>> Wunderground-RF as the protocol, but the hostname is from pws_url.
>>>> I have temporarily set pws_url to the rtupdate URL and my 404's have 
>>>> stopped.
>>>> Looks like the rtupdate URL will take regular posts, but the 
>>>> weatherstation URL won't take rf posts.  :-/
>>>> 
>>>> My debug with pws_url replaced with the rf_url value now shows:
>>>> Feb  3 14:36:30 nixie weewx[8747] DEBUG weewx.restx: Wunderground-RF: 
>>>> Added Header: 'Host: rtupdate.wunderground.com'
>>>> That's what it should have shown if rf_url was getting used for 
>>>> do_rapidfire_post.
>>>> I'm stumped.  :-(
>>>> 
>>>> Regards,
>>>> \Leon
>>>> [email protected] - Dearborn, Michigan
>>>>> On 2/3/20 2:23 PM, Leon Shaner wrote:
>>>>> Brice,
>>>>> 
>>>>> Thanks!  That's interesting...  I just added an explicit Host header to 
>>>>> the rtupdate request and put debug output there.
>>>>> This was unexpected:
>>>>> Feb  3 14:16:34 nixie weewx[8584] DEBUG weewx.restx: Wunderground-RF: 
>>>>> Added Header: 'Host: weatherstation.wunderground.com'
>>>>> That isn't the host that should be used for rapidfire, but it's taken 
>>>>> from the URL being used.  :-(
>>>>> We have:
>>>>> $ grep wunderground.com restx.py
>>>>>     rf_url = 
>>>>> "https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php";
>>>>>     pws_url = 
>>>>> "https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php";
>>>>> It will take me some time to figure out why restx.py is using the wrong 
>>>>> URL.
>>>>> Must have been doing this for a long time, but seems that due to changes 
>>>>> on the WU side, they no longer accept rapidfire updates to the 
>>>>> weatherstation.wunderground.com host.
>>>>> 
>>>>> Regards,
>>>>> \Leon
>>>>> [email protected] - Dearborn, Michigan
>>>>> On 2/3/20 12:59 PM, Brice Ruth wrote:
>>>>>> header would be something like `Host: rtupdate.wunderground.com` ... 
>>>>>> basically, whatever you're using as the hostname in the URL, needs to be 
>>>>>> sent as the `Host` header ... that allows load-balancers to route the 
>>>>>> request to the correct backend.
>>>>>> 
>>>>>> Brice Ruth, FCD
>>>>>> Software Engineer, Madison WI
>>>>>> 
>>>>>> 
>>>>>> On Mon, Feb 3, 2020 at 11:44 AM Leon Shaner <[email protected]> wrote:
>>>>>>> Hey, WeeWx'ers,
>>>>>>> 
>>>>>>> I am still getting 404 errors from the rtupdate URL site.
>>>>>>> There is a reply over here about it.
>>>>>>> I'm now looking into what the headers need to be.
>>>>>>> Does anyone know?
>>>>>>> 
>>>>>>> https://apicommunity.wunderground.com/weatherapi/topics/is-the-rtupdate-wunderground-com-address-no-longer-valid
>>>>>>> 
>>>>>>>> For requests to route properly, the
>>>>>>>> host header must be set correctly
>>>>>>>> path must be correct
>>>>>>> 
>>>>>>> Regards,
>>>>>>> \Leon
>>>>>>> --
>>>>>>> Leon Shaner :: Dearborn, Michigan (iPad)
>>>>>>> 
>>>>>>>> On Feb 1, 2020, at 12:39 PM, Leon Shaner <[email protected]> wrote:
>>>>>>>> 
>>>>>>>> Hey, WeeWx'ers.
>>>>>>>> 
>>>>>>>> I took a different approach to working around the WU certificate issue 
>>>>>>>> -- keep SSL but don't verify the CERT.  Scroll for that "solution."
>>>>>>>> 
>>>>>>>> But meanwhile, using Wunderground-RF (rapid fire) I am getting an HTTP 
>>>>>>>> Error 404:  Not Found.
>>>>>>>> Any ideas on that?   Did they change the URL, or is it just down?
>>>>>>>> 
>>>>>>>> I noticed that even their own WunderStation App on iOS/iPadOS is 
>>>>>>>> subject to the certificate issue and reports all stations as "not 
>>>>>>>> reporting" -- even ones that are, like mine, which I can verify via 
>>>>>>>> the WU website has the data and has reported within minutes ago.
>>>>>>>> 
>>>>>>>> From the logs, re: RapidFire HTTP 404:
>>>>>>>> 
>>>>>>>> Feb  1 12:31:51 nixie weewx[13184] DEBUG weewx.restx: Wunderground-RF: 
>>>>>>>> Failed upload attempt 1: HTTP Error 404: Not Found
>>>>>>>> Feb  1 12:31:51 nixie weewx[13184] ERROR weewx.restx: Wunderground-RF: 
>>>>>>>> Failed to publish record 2020-02-01 12:31:51 EST (1580578311): Failed 
>>>>>>>> upload after 1 tries
>>>>>>>> Feb  1 12:31:56 nixie weewx[13184] DEBUG weewx.restx: Wunderground-RF: 
>>>>>>>> Failed upload attempt 1: HTTP Error 404: Not Found
>>>>>>>> Feb  1 12:31:56 nixie weewx[13184] ERROR weewx.restx: Wunderground-RF: 
>>>>>>>> Failed to publish record 2020-02-01 12:31:56 EST (1580578316): Failed 
>>>>>>>> upload after 1 tries
>>>>>>>> Feb  1 12:32:04 nixie weewx[13184] DEBUG weewx.restx: Wunderground-RF: 
>>>>>>>> Failed upload attempt 1: HTTP Error 404: Not Found
>>>>>>>> Feb  1 12:32:04 nixie weewx[13184] ERROR weewx.restx: Wunderground-RF: 
>>>>>>>> Failed to publish record 2020-02-01 12:32:04 EST (1580578324): Failed 
>>>>>>>> upload after 1 tries
>>>>>>>> Feb  1 12:32:05 nixie weewx[13184] DEBUG weewx.restx: Wunderground-RF: 
>>>>>>>> Failed upload attempt 1: HTTP Error 404: Not Found
>>>>>>>> Feb  1 12:32:05 nixie weewx[13184] ERROR weewx.restx: Wunderground-RF: 
>>>>>>>> Failed to publish record 2020-02-01 12:32:05 EST (1580578325): Failed 
>>>>>>>> upload after 1 tries
>>>>>>>> Feb  1 12:32:06 nixie weewx[13184] DEBUG weewx.restx: Wunderground-RF: 
>>>>>>>> Failed upload attempt 1: HTTP Error 404: Not Found
>>>>>>>> Feb  1 12:32:06 nixie weewx[13184] ERROR weewx.restx: Wunderground-RF: 
>>>>>>>> Failed to publish record 2020-02-01 12:32:05 EST (1580578325): Failed 
>>>>>>>> upload after 1 tries
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Here is the diff for my SSL CERT workaround:
>>>>>>>> 
>>>>>>>> $ diff restx.py restx.py.20200201.1
>>>>>>>> 110,115d109
>>>>>>>> < # SSL certificate hack
>>>>>>>> < global WUssl
>>>>>>>> < WUssl = ssl.create_default_context();
>>>>>>>> < WUssl.check_hostname=False
>>>>>>>> < WUssl.verify_mode=ssl.CERT_NONE
>>>>>>>> <
>>>>>>>> 454d447
>>>>>>>> <         _request.add_header("User-Agent", "weewx/%s" % 
>>>>>>>> weewx.__version__)
>>>>>>>> 543,544c536
>>>>>>>> < #        _response = urllib.request.urlopen(request, 
>>>>>>>> data=data_bytes, timeout=self.timeout)
>>>>>>>> <         _response = urllib.request.urlopen(request, data=data_bytes, 
>>>>>>>> timeout=self.timeout, context=WUssl)
>>>>>>>> ---
>>>>>>>> >         _response = urllib.request.urlopen(request, data=data_bytes, 
>>>>>>>> > timeout=self.timeout)
>>>>>>>> 1051,1052c1043
>>>>>>>> < #            _response = urllib.request.urlopen(request, 
>>>>>>>> timeout=self.timeout)
>>>>>>>> <             _response = urllib.request.urlopen(request, 
>>>>>>>> timeout=self.timeout, context=WUssl)
>>>>>>>> ---
>>>>>>>> >             _response = urllib.request.urlopen(request, 
>>>>>>>> > timeout=self.timeout)
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Regards,
>>>>>>>> \Leon
>>>>>>>> --
>>>>>>>> Leon Shaner :: Dearborn, Michigan (iPad)
>>>>>>>> 
>>>>>>>>> On Jan 31, 2020, at 4:16 PM, Thomas Keffer <[email protected]> wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Travis: what is the error? If it's a certificate error, Version 4 
>>>>>>>>> will do a retry after an hour. Unfortunately, Version 3 does not.
>>>>>>>>> 
>>>>>>>>> On Fri, Jan 31, 2020 at 1:04 PM Travis Bully <[email protected]> wrote:
>>>>>>>>>> Not here yet.  It'll work for awhile and then will get the random 
>>>>>>>>>> cert error I sent earlier.  A restart of weewx will get it going 
>>>>>>>>>> again.  I wish restx would just try again after xx seconds.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Friday, January 31, 2020 at 2:48:50 PM UTC-5, J B wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Working here too. I had to restart Weewx.
>>>>>>>>>>> 
>>>>>>>>>>> On Friday, January 31, 2020 at 11:34:19 AM UTC-8, Brice Ruth wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> Looking like it's working to me, too.
>>>>>>>>>>>> 
>>>>>>>>>>>> Brice Ruth, FCD
>>>>>>>>>>>> Software Engineer, Madison WI
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> On Fri, Jan 31, 2020 at 1:31 PM Travis Bully <[email protected]> 
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Agreed.  Seems like I still get one cert error every now and 
>>>>>>>>>>>>> then.  Likely still propagating changes through their 
>>>>>>>>>>>>> infrastructure?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Jan 31 14:29:25 homeauto03 weewx[3784]: restx: Wunderground-RF: 
>>>>>>>>>>>>> Published record 2020-01-31 14:29:24 EST (1580498964)
>>>>>>>>>>>>> Jan 31 14:29:26 homeauto03 weewx[3784]: restx: Wunderground-RF: 
>>>>>>>>>>>>> Failed upload attempt 1: <urlopen error [SSL: 
>>>>>>>>>>>>> CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)>
>>>>>>>>>>>>> Jan 31 14:29:31 homeauto03 weewx[3784]: restx: Wunderground-RF: 
>>>>>>>>>>>>> Failed to publish record 2020-01-31 14:29:26 EST (1580498966): 
>>>>>>>>>>>>> Failed upload after 1 tries
>>>>>>>>>>>>> Jan 31 14:29:31 homeauto03 weewx[3784]: restx: Wunderground-RF: 
>>>>>>>>>>>>> Published record 2020-01-31 14:29:30 EST (1580498970)
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Fri, Jan 31, 2020 at 2:30 PM Denny Page <[email protected]> 
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>> It's fixed now.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Friday, January 31, 2020 at 8:54:02 AM UTC-8, Denny Page 
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Wunderground just posted a note about the intermediate 
>>>>>>>>>>>>>>> certificate issue. Hopefully they will fix it shortly.
>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>> You received this message because you are subscribed to a topic 
>>>>>>>>>>>>>> in the Google Groups "weewx-user" group.
>>>>>>>>>>>>>> To unsubscribe from this topic, visit 
>>>>>>>>>>>>>> https://groups.google.com/d/topic/weewx-user/mYhw6CSKHHg/unsubscribe.
>>>>>>>>>>>>>> To unsubscribe from this group and all its topics, send an email 
>>>>>>>>>>>>>> to [email protected].
>>>>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>>>>> https://groups.google.com/d/msgid/weewx-user/f5e5741a-e5f8-419b-9c0d-df1972fe5ced%40googlegroups.com.
>>>>>>>>>>>>> -- 
>>>>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>>>>> Google Groups "weewx-user" group.
>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>>>>>> send an email to [email protected].
>>>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>>>> https://groups.google.com/d/msgid/weewx-user/CAF_%2Bh57S88%3DZOX1mXK8oZBx-_KEHvDPFP%3Dvtd4u3_1qg7994yg%40mail.gmail.com.
>>>>>>>>>> -- 
>>>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>>>> Groups "weewx-user" group.
>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>>> send an email to [email protected].
>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>> https://groups.google.com/d/msgid/weewx-user/eaa42f60-98fc-4974-8d25-915a4c7e0d80%40googlegroups.com.
>>>>>>>>> -- 
>>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>>> Groups "weewx-user" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>> send an email to [email protected].
>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>> https://groups.google.com/d/msgid/weewx-user/CAPq0zECD1_-w%3D8V5eb5-qYsgMBPcvnNunAOe%2BQbnqpKsOsyGUg%40mail.gmail.com.
>>>>>>> -- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "weewx-user" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>>>> an email to [email protected].
>>>>>>> To view this discussion on the web visit 
>>>>>>> https://groups.google.com/d/msgid/weewx-user/CE8C91F5-D61F-4618-A317-7E97B9ECE912%40isylum.org.
>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "weewx-user" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>>> an email to [email protected].
>>>>>> To view this discussion on the web visit 
>>>>>> https://groups.google.com/d/msgid/weewx-user/CAFbExW60hmrJRd1yWJAK8f0H%2BXnZsnYe8%3DxMpvKe9n2ws4sq9w%40mail.gmail.com.
>>>>> 
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google Groups 
>>>>> "weewx-user" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>>> email to [email protected].
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/weewx-user/6438f7e3-b03f-4ea3-e324-d89640c88e09%40isylum.org.
>>>> 
>>>> -- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "weewx-user" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/weewx-user/c017d408-7abb-695c-8968-9058e22b3389%40isylum.org.
>>> 

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/9C99CEBB-BC85-42A0-8778-4649FF55BC3E%40isylum.org.

Reply via email to