mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-22 20:24:36 +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: some more logging
|
||||||
# added: delete some station readings before update
|
# added: delete some station readings before update
|
||||||
# added: attribute owoSendUrl
|
# added: attribute owoSendUrl
|
||||||
|
# 2013-08-08 added: proxy support by reading env-Settings
|
||||||
#
|
#
|
||||||
|
|
||||||
package main;
|
package main;
|
||||||
@ -49,9 +50,13 @@ use warnings;
|
|||||||
use POSIX;
|
use POSIX;
|
||||||
use HttpUtils;
|
use HttpUtils;
|
||||||
use JSON qw/decode_json/;
|
use JSON qw/decode_json/;
|
||||||
#use Try::Tiny;
|
|
||||||
use feature qw/say switch/;
|
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_Set($@);
|
||||||
sub OWO_Get($@);
|
sub OWO_Get($@);
|
||||||
sub OWO_Attr(@);
|
sub OWO_Attr(@);
|
||||||
@ -258,7 +263,8 @@ OWO_GetStatus($;$){
|
|||||||
|
|
||||||
my $sendString = $urlString."?".$dataString;
|
my $sendString = $urlString."?".$dataString;
|
||||||
if(AttrVal($name, "owoDebug",1) == 0){
|
if(AttrVal($name, "owoDebug",1) == 0){
|
||||||
GetFileFromURL($sendString);
|
# GetFileFromURL($sendString);
|
||||||
|
$ua->get($sendString);
|
||||||
Log $loglevel, "openweather $name sending: $dataString";
|
Log $loglevel, "openweather $name sending: $dataString";
|
||||||
} else {
|
} else {
|
||||||
Log $loglevel, "openweather $name debug: $dataString";
|
Log $loglevel, "openweather $name debug: $dataString";
|
||||||
@ -331,16 +337,15 @@ UpdateReadings($$$){
|
|||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
my $loglevel = AttrVal($name, "loglevel", 3);
|
my $loglevel = AttrVal($name, "loglevel", 3);
|
||||||
my ($jsonWeather, $response);
|
my ($jsonWeather, $response);
|
||||||
|
|
||||||
$url .= "&APPID=".AttrVal($name, "owoApiKey", "");
|
$url .= "&APPID=".AttrVal($name, "owoApiKey", "");
|
||||||
$response = GetFileFromURL("$url");
|
# $response = GetFileFromURL("$url");
|
||||||
|
$response = $ua->get("$url");
|
||||||
if(defined($response)){
|
if(defined($response)){
|
||||||
if(AttrVal($name, "owoDebug", 1) == 1){
|
if(AttrVal($name, "owoDebug", 1) == 1){
|
||||||
Log $loglevel, "openweather $name response:\n$response";
|
Log $loglevel, "openweather $name response:\n$response";
|
||||||
}
|
}
|
||||||
my $json = JSON->new->allow_nonref;
|
my $json = JSON->new->allow_nonref;
|
||||||
eval {$jsonWeather = $json->decode($response)}; warn $@ if $@;
|
eval {$jsonWeather = $json->decode($response->decoded_content)}; warn $@ if $@;
|
||||||
} else {
|
} else {
|
||||||
Log $loglevel, "openweather $name error: no response from server";
|
Log $loglevel, "openweather $name error: no response from server";
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user