A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【转载】        https://blog.csdn.net/zyw_java/article/details/54630880

解决方案是通过User-Agent 来判断扫描的来源


Http Header之User-Agent

User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标 识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计。

几个例子

QQ



Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4
  • 1

微信



Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 MicroMessenger/6.5.3 NetType/WIFI Language/zh_CN
  • 1

支付宝



Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 ChannelId(3) Nebula PSDType(1) AlipayDefined(nt:WIFI,ws:375|647|2.0) AliApp(AP/10.0.1.123008) AlipayClient/10.0.1.123008 Alipay Language/zh-Hans
  • 1
具体实现

0) {            //用户使用微信访问页面            payWay = 1;            System.out.println("微信...");        }else if(agent.indexOf("alipayclient")>0){            //用户使用支付宝访问页面            payWay = 2;            System.out.println("支付宝...");        }        renderText(payWay+" userAgent:"+userAgent);    }}" data-snippet-id="ext.297e9ae5278e5d5fb457c0fc8bffa2f9" data-snippet-saved="false" data-codota-status="done" name="code" style="box-sizing: border-box; outline: 0px; padding: 8px 16px 4px 56px; margin-bottom: 24px; position: relative; overflow-y: hidden; overflow-x: auto; font-family: Consolas, Inconsolata, Courier, monospace; color: rgb(0, 0, 0); word-break: break-all; border: none; background-color: rgb(246, 248, 250);">public class AllPayController extends Controller {    protected final Log log = Log.getLog(getClass());    public void index(){        String userAgent = getRequest().getHeader("User-Agent");        log.info(userAgent);        int payWay = 0;        String agent = userAgent.toLowerCase();        if (agent.indexOf("micromessenger")>0) {            //用户使用微信访问页面            payWay = 1;            System.out.println("微信...");        }else if(agent.indexOf("alipayclient")>0){            //用户使用支付宝访问页面            payWay = 2;            System.out.println("支付宝...");        }        renderText(payWay+" userAgent:"+userAgent);    }}


2 个回复

倒序浏览
回复 使用道具 举报
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马