From eea3390936e3f8b5fa4559cd41c812ed822e404a Mon Sep 17 00:00:00 2001 From: Flyteas Date: Mon, 13 Mar 2017 01:00:52 +0800 Subject: [PATCH] version 0.4 Fix URL RegEx --- Struts2-045-Exp.v11.suo | Bin 38400 -> 40960 bytes Struts2-045-Exp/Exp.cpp | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Struts2-045-Exp.v11.suo b/Struts2-045-Exp.v11.suo index 04271cb04b7a8903308c166ca8cca6c332afea7a..52b3a66584085fe825020ae51e105b02b4573223 100644 GIT binary patch delta 1421 zcmcIkO-NKx6rOwM&G^)(Ipa7DM*1{=GjlYv)QL1T!c3hs7yiTqWkew%qh&}5{VHP4 zoMq7B5fu_db6W*Lpro`K+|(|qO|)t;1d`2kj=rap)}loRKFDE8RVA|+aJDO zV-bdUD>PJ;LxhL7kO`3l2U{bN?ngutd1RBslSe+0=hE{;UZ!pv*HsE_0? z!{E1FyQCfk;Ls zq$;nrl(V3-QK2o%i?8-OJ7s$6#=%a7X}Mgh;##KFe%Vy&`*{9I=7Etw)5@;LKeH!c zDO-h7o+|3{?s3`tTWf*Bf}N^RE1xpi7#ZEx=EJfX1PRT9VYCpIxWoLdA#v6Ad7NqY zy{@{tw>_3m!~V|~7N6JZ2^aW0|Ar-Q(>y%1Ta|^XKHAEWvYGw^KH!4-=7@JM+0RHB7i9SBa%F6{ePZE)4eBHET@*WHt^npJuEYa6wRDs{t zF43A90n02p4zb+P#$;O8jm}e(+EHt;YYyg4x<#aGbqqn*f^2-qbPEx2DJ;}I!(ir2 zm)0r4U{5Y+y-t431k8OE$4mc!DX2ep1>AjMt=kHVRkwt6c7=(t{s|@~E`DcF5h#GH zKD#*B|IQ4j%L+u%zz4H7kfaSt+NcEH{BbcpJi-L8i85`JYj-&03|EWl>+=k3#V+BR z_`)!#P08fiWQNbwWhdHhQ9SXUg{HomVQ+^Wxsn(jiUX%Pj@_0(n(PI&L`B=7&o+bN P!UA{sdZ96NH@Ex(A`uJq delta 1600 zcmc&!O-x)>6h8OPKRl-M*LI{8USS-u0v&$ZVoPzDfeHqMRANKwg0#W31n9IgB#kA^ zD<-zl=#+O{sS7jhs&V7ot!XB~#iTAIP1;2_)|eRgPEA-So-@3`NidDByzhPQ{M~!b zz2Cj}8AWM)EpPXWz2BTVB0W&N)j$6EL(#65b*T<)NypCb7J;m_@1JKqrb9E4T? z{JGhm<#>Q>?$AN9lhAG1)j>UEAFJ^lC%upG8sP+?g;4D~Kzc)s&Hf?F-fzh_NRALj z0VFixPtC!#nUX2zJzqV#`8*1->xysdtEY+f|YZQbN%1y88Ysv%^sIM zAC~zO&VNTCU#D6M9Tf^Ib2Hn@Vnsb`s~7px&O%>VIAYX!5I09B++otHm7T+61OVTU zzp3%j_0`0%95=*CTpG-J_;Rfh0RNcyem7a>Sd#Zaq;P30D=yuc?WqtF4va1B!6?47WYiqZd)pCt6qR&4*R00h10&2?k(%aC>!F2N#&yWu3@Av4&}c_Ecr zUcNpQ8}1rBYUbkk52cWJNCvU67QkO}jmpT;+WfDFRrsS{1;))86rY7X?fN^jSJRg+ Ui%Q=I*k;%0(iAW*@}Ii@0{f{XH~;_u diff --git a/Struts2-045-Exp/Exp.cpp b/Struts2-045-Exp/Exp.cpp index d8932e3..1a09bb2 100644 --- a/Struts2-045-Exp/Exp.cpp +++ b/Struts2-045-Exp/Exp.cpp @@ -272,12 +272,12 @@ CString Exp::httpPost(CString url,CString header,CString postData,DWORD& statusC return resultPage; } -/* URL解析 匹配正则表达式为 ((http|https)://)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\&%_\./-~-]*)? */ +/* URL解析 匹配正则表达式为 ((http|https)://)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\&%_\./-~-!]*)? */ bool Exp::urlParse(CString url,int&httpType,CString& host,unsigned short int& port,CString& path) { CString httpPrefix = "http://"; CString httpsPrefix = "https://"; - CString httpRegEx = "((http|https)://)(([a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,6})|([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\\&%_\\./-~-]*)?"; //URL匹配正则表达式 + CString httpRegEx = "((http|https)://)(([a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,6})|([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\\&%_\\./-~-!]*)?"; //URL匹配正则表达式 url.Replace("\\","/"); //反斜杠换成斜杠 if(url.Mid(0,httpPrefix.GetLength()) != httpPrefix && url.Mid(0,httpsPrefix.GetLength()) != httpsPrefix) //输入的URL没有前缀 url = "http://" + url; //添加前缀