如何在python中创建准确的用户代理字符串?

时间:2016-04-20 23:07:01

标签: python testing user-agent wsgi

我想测试一个wsgi应用程序。我想制作一个准确的environ变量而不进行任何套接字连接或http调用。 (如果我的测试框架是服务器,并且应用程序位于同一台机器上,为什么要进行http调用?)

我找到了webtest,目前我正在查看它的来源(由于某些原因,它不适用于谷歌应用引擎应用)。

制作准确环境变量的当前问题是用户代理。我可以使用import platform; platform.uname()获取系统信息,但它会为Macbook返回Darwin而不是Macintosh,这是从macbook发送时在user-agent字符串中找到的。我发现有多个库可以生成'假的'用户代理,但我想让真正的一个。

1 个答案:

答案 0 :(得分:0)

如果你正在使用Google App Engine,问题是在测试中拥有准确的用户代理,那么首先你可能想要使用{{3 }}。从那里有App Engine Testbed的特殊说明。除非你做了一些奇怪的事,否则应该可以正常工作。

然后传递自定义标头(包括用户代理)的方式是这样的(using webtest):

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

例如:

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