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:
parent
f9ceb7ee90
commit
fb50b330d2
@ -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";
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user