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" > <https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php> > < pws_url = > "https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php" > <https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php> > --- > > pws_url = > "https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php" > <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" > <https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php> > # the personal weather station URL: > #pws_url = > "https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php" > <https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php> > pws_url = > "https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php" > <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 > <http://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" > <https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php> > pws_url = > "https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php" > <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 >>>>>>> <https://groups.google.com/d/msgid/weewx-user/f5e5741a-e5f8-419b-9c0d-df1972fe5ced%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>>> 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 >>>>>> <https://groups.google.com/d/msgid/weewx-user/CAF_%2Bh57S88%3DZOX1mXK8oZBx-_KEHvDPFP%3Dvtd4u3_1qg7994yg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>> 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 >>> <https://groups.google.com/d/msgid/weewx-user/eaa42f60-98fc-4974-8d25-915a4c7e0d80%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> 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 >> <https://groups.google.com/d/msgid/weewx-user/CAPq0zECD1_-w%3D8V5eb5-qYsgMBPcvnNunAOe%2BQbnqpKsOsyGUg%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> -- >> 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 >> <https://groups.google.com/d/msgid/weewx-user/CE8C91F5-D61F-4618-A317-7E97B9ECE912%40isylum.org?utm_medium=email&utm_source=footer> >> . >> > -- > 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 > <https://groups.google.com/d/msgid/weewx-user/CAFbExW60hmrJRd1yWJAK8f0H%2BXnZsnYe8%3DxMpvKe9n2ws4sq9w%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > > -- > 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 > <https://groups.google.com/d/msgid/weewx-user/6438f7e3-b03f-4ea3-e324-d89640c88e09%40isylum.org?utm_medium=email&utm_source=footer> > . > > > -- > 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 > <https://groups.google.com/d/msgid/weewx-user/c017d408-7abb-695c-8968-9058e22b3389%40isylum.org?utm_medium=email&utm_source=footer> > . > > > -- 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/CAPq0zEC1jQc_6ek00S6ojqatzjhP7M%3DD6tEtXRGB%2BmAajAv8PQ%40mail.gmail.com.
