Patch: HttpUtils User-Agent

Begonnen von StefanStrobel, 13 Februar 2016, 11:03:32

Vorheriges Thema - Nächstes Thema

StefanStrobel

Hallo,

es wäre hilfreich wenn man HttpUtils einen User-Agent Header vorgeben kann. Momentan wird immer User-Agent: Fhem verwendet.
Manche Websites verbieten jedoch Fhem ...
Dafür würde ich folgenden Patch vorschlagen:


--- HttpUtils.pm-orig   2016-02-13 10:59:07.892611034 +0100
+++ HttpUtils.pm        2016-02-13 10:58:38.594141341 +0100
@@ -256,7 +256,7 @@
   my $httpVersion = $hash->{httpversion} ? $hash->{httpversion} : "1.0";
   my $hdr = "$method $hash->{path} HTTP/$httpVersion\r\n";
   $hdr .= "Host: $hash->{host}\r\n";
-  $hdr .= "User-Agent: fhem\r\n";
+  $hdr .= "User-Agent: fhem\r\n" if ($hash->{header} !~ "User-Agent:");
   $hdr .= "Accept-Encoding: gzip,deflate\r\n" if($hash->{compress});
   $hdr .= "Connection: keep-alive\r\n" if($hash->{keepalive});
   $hdr .= "Connection: Close\r\n"


In HTTPMOD kann man dann einen passenden User-Agent vorgeben.

Gruss
    Stefan

Markus Bloch

Hallo Stefan,

bitte so einsetzen:

$hdr .= "User-Agent: fhem\r\n" if (!$hash->{header}  || $hash->{header} !~ "User-Agent:");

Sonst kommen wieder haufenweise Fehlermeldungen wenn $hash->{header} nicht definiert ist und ein !~ darauf angewandt wird.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

StefanStrobel

Thanks!

Anbei ein verbesserter Patch.

Gruss
    Stefan

rudolfkoenig