From 09954dfe486098e4475f56ac4bd33e980cab743e Mon Sep 17 00:00:00 2001 From: Flyteas Date: Mon, 13 Mar 2017 14:28:27 +0800 Subject: [PATCH] version 0.5 Fixed URL RegEx For http://localhost --- Struts2-045-Exp.v11.suo | Bin 40960 -> 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 52b3a66584085fe825020ae51e105b02b4573223..c442a68d7f05b30e15109dc310d0cd08ad67c22d 100644 GIT binary patch delta 953 zcmaJ;O=uHQ5Z?E8lWfu?=C3iBVz%2@5=!gOK~mE6N7E7#G^v7k6v2x$t!YwgMKoZ< zA9~Oo@Zv?*OHM8B^DIFGdk|W@C?3>ayxKz!7Jurzl1LJZ10V0bnQvy^H&d?Ba*aM5 zA=c-K!_-=y^Auh^c}Jpbfo6&QxF85-#10y``@@b6eAp4(f+N`(@Et<95xz$35S~20#Y{T`=!B}2awYJhHkh2D znPQ|HHbdS=7hY&|#=4cUG_{%c&<1sjk8n+1=#k|?USSNYb?V}NZVJXC2(HTp(^7Dx zQ-O?;|0&>u<+E%GaI^}TfL~Ia#jG`vEV6C;x+EV(DsRm9!0K*^>;^1E_e;8u>Ickv zfO@V7m+q{7_!&>nS-V$0J@bx!gfAfl2C0*cD-|m7t-wJ=g(K7kb+tl@Y^m=q)gzML zPqnEMyu9dR_lB;Cn)-To`(j&H)h_B0YMe+CiSP1nrP9e|BbB6fzN|oNMrnM5{zKJc zR7)rKBBQ8Twv@pSO;PufR~A z>9aQ2EEHLBJ}8R#AA2d1Vj&tT4Rkx8^G8mn3#B}@cBue!U-8HQ-`jfZ+&HsPq@B6bmQKS<^ zIvXbTr$_fvb++{4dtz>tg!ol@hG;+0>Ma(F@R0A=P`tUyQ9`23P7!uA&tuwLUP;^iA*yQ16>0?b#b6d+o-{So8Uzlh*M_V47+|jJ4{N{hF0^P!^Jyo3buRcfKT5 zedH-D*ZD^4a&=ryV*C-p!Z){BDT`2Se*Y60c-$|A20t&po}ciPDw-Dw3sFrBjEGHW zkeqDuTr6{ZwiPd1zMc>_fT={b$9Xs5jYOWGm)~d7A1ORsvW?f1Mz!m>F^4b_F)8C0s-izc1Rz}=>svM zi2F6mAbmPl=t{%*u$$jHd5!3Yqjc+Ms5}eO;rLbq^Fu9POIRZ;O7*y(g1>J;sZRE3 zL?4V<74shuTSPM!qcCHaV diff --git a/Struts2-045-Exp/Exp.cpp b/Struts2-045-Exp/Exp.cpp index 1a09bb2..8e7ad79 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)://)(localhost|([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)://)(localhost|([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; //添加前缀