0

我有一个带有 cookie 的 access.log nginx:

99.20.231.22 www.carite.com - [01/Dec/2015:03:00:10 -0600] "GET /?mode=_ajax&_imod[]=i159330&make=Mercedes-Benz&_=1448960297171 HTTP/1.1" 200 1182 "http://www.carite.com/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1" "PHPSESSID=ebg5n89m9pc1iamekii1qra5k0; chooseStoreNotificationShown=1; dfa_visit=1448960180633603603; dfa_visitor=1448960180633796491; mod-compare-box=%7B%22vehicles%22%3A%7B%22v11279294%22%3A%7B%22vuid%22%3A%2211279294%22%2C%22isCompared%22%3Afalse%7D%7D%2C%22compareAll%22%3Atrue%2C%22cookieLifeTime%22%3A30%2C%22cookiePath%22%3A%22%5C%2F%22%7D; _ga=GA1.2.10339867.1448960182; _gali=make; _gat_a1=1; _gat_a2=1; _gat_a3=1; _gat_a4=1; usy46gabsosd=collserve__-2_1448960382693_8786" 80 0.295

我可以指定 Yandex-tank 从访问日志中获取 cookie 并将其添加到每个 yandex-tank 请求中吗?

我还需要从访问日志中获取标题“主机:”,而不是load.ini像这样指定它: headers = [Host: www.carite.com]

4

1 回答 1

0

你有两个选择:

  1. 使步进器从 access.log 中读取 cookie 以及 uri(应该在附近完成 https://github.com/yandex/yandex-tank/blob/master/yandextank/stepper/missile.py#L213

  2. https://yandextank.readthedocs.org/en/latest/tutorial.html#uri-style-uris-in-file格式从 access.log 创建一个单独的文件。标题在旅途中被覆盖,因此您可以在任何地方重新定义标题

    例如,它可能是这样的:

    [主机:www.carite.com]
    [Cookie:PHPSESSID=ebg5n89m9pc1iamekii1qra5k0;选择StoreNotificationShown=1;dfa_visit=1448960180633603603;dfa_visitor=1448960180633796491;...]
    /?mode=_ajax& imod[]=i159330&make=Mercedes-Benz& =1448960297171
    ...
    [主机:example.com]
    [Cookie:myowncookie=1]
    /something
    ...

我建议使用第二种方式作为最简单的方式

于 2015-12-02T12:15:28.303 回答