2016-04-20 4 views
0

Ich möchte eine wsgi-Anwendung testen. Ich möchte eine genaue environ Variable machen, ohne Socket-Verbindungen oder http-Aufrufe. (Wenn mein Test-Framework ist der Server, und die App lebt auf dem gleichen Rechner, warum http Aufrufe machen?)Wie kann ich eine genaue User-Agent-Zeichenfolge in Python erstellen?

Ich fand webtest und bin derzeit auf der Suche nach der Quelle, um es herauszufinden (es funktioniert nicht für Google App-Engine Apps aus irgendeinem Grund).

Mein aktuelles Problem mit der Erstellung einer genauen Umgebung Variable ist der Benutzer-Agent. Ich kann Systeminformationen mit import platform; platform.uname() erhalten, aber es gibt für Macbooks zurück und nicht Macintosh, die in einer user-agent Zeichenfolge gefunden wird, wenn sie von einem Macbook gesendet wird. Ich habe mehrere Bibliotheken gefunden, um "gefälschte" Benutzer-Agenten zu generieren, aber ich möchte die echte eins machen.

+0

Ich bin nicht sicher, was Sie unter " genauer "und" echter "User-Agent. Möchten Sie emulieren, was ein bestimmter Browser generieren könnte? Wenn ja, welcher Browser? – Schwern

+0

[Ich vermisse etwas offensichtlich?] (Http://whatsmyuseragent.com/) – jDo

+0

@jRufen Sie das aber aus Python und ohne eine HTTP-Anfrage. Was ist der User-Agent eines Python-Skripts? – Ignat

Antwort

0

Wenn Sie Google App Engine verwenden und das Problem darin besteht, einen genauen Benutzeragenten aus einem Test zu haben, werden Sie wahrscheinlich zuerst App Engine Testbed verwenden wollen. Von dort gibt es spezielle Anweisungen auf using webtest. Wenn Sie nicht etwas Seltsames tun, sollte das gut funktionieren.

Die Art und Weise dann benutzerdefinierte Header zu übergeben, User-Agent, einschließlich, ist wie folgt (per the docs):

app.get('/path', [params], [headers], [extra_environ], ...) 

So zum Beispiel:

app.get('/foo', headers={'User-Agent': 'Mozilla'}) 
Verwandte Themen