使用cURL测试古代浏览器是否有限制?

使用cURL测试古代浏览器是否有限制?,curl,nginx,browserstack,Curl,Nginx,Browserstack,我需要告诉nginx以不同于其他浏览器的方式处理来自ie6&7的请求。所以我写了一个小支票,在nginx中重写请求: if (\$http_user_agent ~ "MSIE [67]\.") { rewrite ^ ${ROOT_ROOT}ancient/ last; break; } 在工作中,我们使用browserstack进行跨浏览器测试。但是,由于这是一种在各种配置中测试小更改的非常慢的方法,因此我编写了一个测试脚本,用不同的用户代理字符串执行一系列cURL请求,以

我需要告诉nginx以不同于其他浏览器的方式处理来自ie6&7的请求。所以我写了一个小支票,在nginx中重写请求:

if (\$http_user_agent ~ "MSIE [67]\.") {
    rewrite ^ ${ROOT_ROOT}ancient/ last;
    break;
}
在工作中,我们使用browserstack进行跨浏览器测试。但是,由于这是一种在各种配置中测试小更改的非常慢的方法,因此我编写了一个测试脚本,用不同的用户代理字符串执行一系列cURL请求,以确保服务器返回所需的内容

下面是一个使用UA欺骗的curl执行示例:

curl -LvA 'Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)' http://localhost:8008/"
不管怎么说,问题是,当我从Browserstack环境中使用cURL和精确的UA字符串时,我并没有看到与直接使用Browserstack访问页面时相同的行为

这很奇怪。因为在browserstack上,服务器甚至不识别请求(浏览器说存在连接问题),而在cURL中,加载了正确的内容,服务器返回200

我不指望有人能完全解决我的问题,但我想弄清楚卷曲是否有我不知道的局限性


提前谢谢。

我不知道cURL wrt有任何限制。
用户代理
标题,但更符合逻辑的解释是,其他一些标题(如
接受
接受编码
?)中存在差异。有趣的一点。我会调查的。@布莱斯·约翰逊你的问题肯定与卷曲本身无关。执行数据包捕获并比较来自浏览器和cURL的请求头以发现差异。