2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-22 08:11:44 +00:00

added: proxy support (reading proxy settings from env)

git-svn-id: https://svn.fhem.de/fhem/trunk@3616 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
betateilchen 2013-08-08 13:48:11 +00:00
parent f9ceb7ee90
commit fb50b330d2

View File

@ -40,6 +40,7 @@
# added: some more logging
# added: delete some station readings before update
# added: attribute owoSendUrl
# 2013-08-08 added: proxy support by reading env-Settings
#
package main;
@ -49,9 +50,13 @@ use warnings;
use POSIX;
use HttpUtils;
use JSON qw/decode_json/;
#use Try::Tiny;
use feature qw/say switch/;
require LWP::UserAgent; # test
my $ua = LWP::UserAgent->new; # test
$ua->timeout(10); # test
$ua->env_proxy; # test
sub OWO_Set($@);
sub OWO_Get($@);
sub OWO_Attr(@);
@ -258,7 +263,8 @@ OWO_GetStatus($;$){
my $sendString = $urlString."?".$dataString;
if(AttrVal($name, "owoDebug",1) == 0){
GetFileFromURL($sendString);
# GetFileFromURL($sendString);
$ua->get($sendString);
Log $loglevel, "openweather $name sending: $dataString";
} else {
Log $loglevel, "openweather $name debug: $dataString";
@ -331,16 +337,15 @@ UpdateReadings($$$){
my $name = $hash->{NAME};
my $loglevel = AttrVal($name, "loglevel", 3);
my ($jsonWeather, $response);
$url .= "&APPID=".AttrVal($name, "owoApiKey", "");
$response = GetFileFromURL("$url");
# $response = GetFileFromURL("$url");
$response = $ua->get("$url");
if(defined($response)){
if(AttrVal($name, "owoDebug", 1) == 1){
Log $loglevel, "openweather $name response:\n$response";
}
my $json = JSON->new->allow_nonref;
eval {$jsonWeather = $json->decode($response)}; warn $@ if $@;
eval {$jsonWeather = $json->decode($response->decoded_content)}; warn $@ if $@;
} else {
Log $loglevel, "openweather $name error: no response from server";
}