Windows
For Windows
Android
For Android
Mac OS X
For Mac OS X
Linux
For Linux

#1 2018-04-27 14:59:07

testuser
Member
Registered: 2012-02-17
Posts: 23

HTTPS ?

[DEBUG] [hh_*] 15:54:25	setting useragent to FF_WIN7
[INFO ] [hh_*] 15:54:25	logging in
[DEBUG] [hh_*] 15:54:25	getting http://www.pennergame.de/
[DEBUG] [hh_*] 15:54:25	getting http://https://www.pennergame.de/
[ERROR] [hh_*] 15:54:25	0
[DEBUG] [hh_*] 15:54:25	getting http://www.pennergame.de/
[DEBUG] [hh_*] 15:54:25	getting http://https://www.pennergame.de/
[ERROR] [hh_*] 15:54:25	0
[ERROR] [hh_*] 15:54:25	not logged in
[INFO ] [hh_*] 15:54:25	collecting bottles
[DEBUG] [hh_*] 15:54:25	getting http://www.pennergame.de/activities/
[DEBUG] [hh_*] 15:54:25	getting http://https://www.pennergame.de/activities/
[ERROR] [hh_*] 15:54:25	0
[ERROR] [hh_*] 15:54:25	collecting not started, not logged in
[ERROR] [hh_*] 15:54:25	no fights found

Hey, seit der Umstellung auf https funktioniert der PHP Bot leider nicht mehr. Besteht eine Möglichkeit ihn zu updaten oder ist der PHP Bot mit https nicht mehr kompatibel?
Viele Grüße

Offline

#2 2018-04-27 16:32:29

blblbl
Member
Registered: 2012-03-02
Posts: 353

Re: HTTPS ?

ich denke man kann den php bot genauso weiterbetreiben wie den webbot.

simon wrote:

Leider ist das doch eine größere Sache. Bis das Update mit HTTPS Unterstützung da ist, kann ich aber eine  Behelfslösung für lokale Bots anbieten.

Da der Bot ja kein HTTPS versteht, muss ein Proxy her, der den ganzen Verschlüsselungs-Kram übernimmt und für den Bot "übersetzt". So einen Proxy habe ich basierend auf NodeJS (https://nodejs.org/) gebaut.

var http = require('http'),
    https = require('https');

http.createServer(function (req, res) {
    let proxy_req = https.request({
        hostname: req.headers.host,
        method: req.method,
        path: req.url,
    }, (proxy_res) => {
        res.writeHead(proxy_res.statusCode, proxy_res.headers);
        proxy_res.on('data', (d) => {
            res.write(d);
        });
        proxy_res.on('end', (d) => {
            res.end();
        });
    });

    for (const key in req.headers) {
        proxy_req.setHeader(key, req.headers[key]);
    }
    proxy_req.flushHeaders();
    req.on('data', (d) => {
        proxy_req.write(d);
    });
    req.on('end', (d) => {
        proxy_req.end();
    });
}).listen(8000, "127.0.0.1");

Wenn NodeJS installiert ist, kann das Skript mittels node [dateiname] in der Konsole gestartet werden. Dann läuft ein Proxy auf  127.0.0.1 (localhost), Port 8000 (kann in der letzten Zeile angepasst werden). Wenn ihr 127.0.0.1:8000 im Bot als Proxy angebt, müsste der Bot wie normal laufen.

Der Nachteil dabei ist, dass sich mit dem Skript keine anderen Proxies mehr nutzen lassen. Wie das mit HTTPS und Proxies aussieht müssen wir aber sowieso noch klären.

Offline

#3 2018-04-28 17:18:22

Fritzi
Member
Registered: 2018-04-28
Posts: 7

Re: HTTPS ?

Wäre echt klasse wenn der auch ein wenig überarbeitet wird.

Offline

Board footer