[horde] Horde WX Block WorldWeatherOnline Update
Jan Schneider
jan at horde.org
Fri May 24 15:20:01 UTC 2013
Zitat von Andy Dorman <adorman at ironicdesign.com>:
> We have made a little progress, but have reached a point where our
> unfamiliarity with PHP and the new Horde (we have been working with
> the new code about a day now) is stopping us.
>
> Again, we are working with Horde 5.04 (latest debian package)
>
> What we have found...
>
> WorldWeatherOnline is changing their API access calls as described here.
>
> https://www.facebook.com/notes/world-weather-online/introducing-faster-more-efficient-and-even-more-reliable-services/451128854963809
>
> The minor changes in Horde/Service/Weather/Wwo.php in the diff below
> will create an http request that works just fine with their new API,
> but only if you paste the resulting http string manually into a
> browser.
>
> 24,25c24,25
> < const API_URL = 'http://free.worldweatheronline.com/feed/weather.ashx';
> < const SEARCH_URL =
> 'http://www.worldweatheronline.com/feed/search.ashx';
> ---
>> const API_URL = 'http://api.worldweatheronline.com/free/v1/weather.ashx';
>> const SEARCH_URL =
>> 'http://api.worldweatheronline.com/free/v1/search.ashx';
> 142c142
> < 'query' => $search,
> ---
>> 'q' => $search,
> 295c295
> < 'query' => $location,
> ---
>> 'q' => $location,
>
> For example, this string works (with a valid wwo free key)
> http://api.worldweatheronline.com/free/v1/search.ashx?timezone=yes&q=huntsville%2CAL&num_of_results=10&format=json&key=xxxxxxxxxxxxxxxxxxxxxxxx
>
> However, when I look at $response from line 337 of
> Horde/Service/Weather/Wwo.php
>
> $response = $this->_http->get($url);
>
> with print_r, this is what we see.
>
> Horde_Http_Response_Fopen Object
> (
> [_stream:protected] => Resource id #273
> [_content:protected] =>
> [uri] => Horde_Url Object
> (
> [url] => http://api.worldweatheronline.com/free/v1/search.ashx
> [raw] => 1
> [parameters] => Array
> (
> [q] => huntsville,AL
> [timezone] => yes
> [num_of_results] => 10
> [format] => json
> [key] => xxxxxxxxxxxxxxxxxxxxxxxxx
> )
>
> [pathInfo] =>
> [anchor] =>
> [toStringCallback] =>
> )
>
> [httpVersion] => 1.1
> [code] => 417
> [headers] => Array
> (
> [content-length] => 0
> [connection] => Close
> )
>
> )
>
> and of course line 342,
>
> $results = $response->getBody();
>
> returns nothing.
>
> We started digging into $this->_http and our newness with PHP
> quickly caught up with us.
>
> So we are hoping the above information will enable one of the other
> very smart Horde developers to more easily figure out what is going
> on.
>
> --
> Andy Dorman
> FanMail.com
> Ironic Design, Inc.
> AnteSpam.com, HomeFreeMail.com, ComeHome.net
>
> CONFIDENTIALITY NOTICE: This message is for the named person's use
> only. It may contain confidential, proprietary or legally privileged
> information. No confidentiality or privilege is waived or lost by
> any erroneous transmission. If you receive this message in error,
> please immediately destroy it and notify the sender. You must not,
> directly or indirectly, use, disclose, distribute, or copy any part
> of this message if you are not the intended recipient.
Update Horde_Http.
--
Jan Schneider
The Horde Project
http://www.horde.org/
More information about the horde
mailing list