使用必应搜索时出现:"cn.bing.com重定向次数过多"的情况,网上寻找解决方案大部分说的是关闭防广告插件和清除cookie,我尝试了都没有作用,然后观察错误界面的url是https://cn.bing.com/?q=dsad&mkt=zh-CN&mkt=zh-CN&mkt=zh-CN&mkt=zh-CN&mkt=zh-CN&mkt=zh-CN&mkt=zh-CN&mkt=zh-CN,其中前面部分https://cn.bing.com/?q=dsad是正常的搜索url,只有这一部分也可以正常访问,后面每一个’&mkt=zh-CN’都是一次重定向,这是国内IP搜索才会出现的,但是一直重定向就导致了无法正常访问。
然后猜测是代理的问题,这里代理是本地ssr+浏览器Proxy SwitchyOmega(本地代理)的形式,先直接把浏览器Proxy 改为直接连接,然后必应搜索显示正常,于是确定是因为代理才无法使用。联想到最近更换了pac文件,进去pac.txt搜索发现无bing的域名,即对bing无相关规则,猜测应该是代理访问必应的时候与bing本身的跳转规则发生了冲突,在本地需要确定必应需不需要走代理。
解决方案有两个,一个是加入必应必须走代理的规则,另外是确定其不走代理,这里更推荐后者,因为正常情况下不走代理访问更快。
以ShadowsocksR为例,首先可以更改pac文件来改变本地代理,pac.txt的位置就在ShadowsocksR的安装目录,比如ShadowsocksR安装在"C:\Program Files\ShadowsocksR",那么pac.txt文件就在C:\Program Files\ShadowsocksR\pac.txt"。打开pac.txt在var rules内加入
"@@||cn.bing.com",
改完后重启ssr即可,如果浏览器使用了Proxy SwitchyOmega,也可以在Proxy SwitchyOmega中不过代理的地址列表中加入cn.bing.com
两种理论上都可以解决问题,但是我在使用前者一段时间后又出现了重定向次数过多的问题,于是用了后者,此外观察到在Proxy SwitchyOmega规则和本地出现冲突时,Proxy SwitchyOmega优先使用自身规则。
此外,其他代理也可以通过指定是否走代理来解决这个问题,比如Clash可编辑profiles正在使用中的xxx.yaml,语法可参考这篇文章。但clash会更麻烦一点,配置文件写的风格差异比较迥异,嫌麻烦可以通过Proxy SwitchyOmega解决问题。