http - 可以使用 nginx 位置指令发送 http 请求吗?
问题描述
也许这是微不足道的,但我没有找到任何有意义的东西或者我不知道在哪里看......
(如何)是否可以在请求某个路径后立即发送 curl /what 命令?
沿着这些思路,但这实际上会起作用:
location / {
curl --data 'v=1&t=pageview&tid=UA-XXXXXXXX-X&cid=123&dp=hit' https://google-analytics.com/collect
}
解决方案
(正如评论中指出的),ngx_http_lua_module
可以做到!
location / {
access_by_lua_block {
os.execute("/usr/bin/curl --data 'v=1&t=pageview&tid=UA-XXXXXXXX-X&cid=123&dp=hit' https://google-analytics.com/collect >/dev/null 2>/dev/null")
}
}
请注意,执行会暂停页面加载,直到 curl 完成。在后台运行 curl 并立即继续页面加载,&
在末尾添加一个空格和一个,看起来像
>/dev/null 2>/dev/null &")
推荐阅读
- tendermint - cosmos-sdk 链上硬币的十进制精度
- android-studio - 如何将数据从弹出窗口发送到具有片段的选项卡式活动?
- javascript - React Native 问题:[未处理的承诺拒绝:TypeError:f 不是函数。(在 'f()' 中,'f' 未定义)]
- r - 如何在 R 中使用 plotly 水平居中饼图?
- javascript - 从函数调用时从 Cordova 文件插件返回值
- swift - 在 Xcode 工作区中加载 txt 文件资源
- c# - RichTextBox WPF 的滚动条
- c# - 游戏对象上的 Unity 3D 碰撞不起作用
- ios - IOS统一游戏随机崩溃
- java - 用终结器清理弱引用缓存?