我想从浏览器请求标头中提取URL路径,这是我写的正则表达式^([GET /]+)(\S+)([ HTTP/1\.1]+)
在 GET /index.htm?i=11&a=ss HTTP/1.1 标头中提取时正常
可是如果浏览器访问的地址后面没有请求文件名(如127.0.0.1),服务器收到的将是GET / HTTP/1.1,这样的话提取就出错了,请高人帮我写个正则表达式
这是浏览器访问127.0.0.1时向服务器发送的请求标头
[align=left]
GET / HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip, deflate
Host: 127.0.0.1
Connection: Keep-Alive
Cookie: CodeSnippetContainerLang=C%23

[/align]这是浏览器访问http://127.0.0.1/index.htm?i=11&a=ss时向服务器发送的请求标头
[align=left]
GET /index.htm?i=11&a=ss HTTP/1.1Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip, deflate
Host: 127.0.0.1
Connection: Keep-Alive
Cookie: CodeSnippetContainerLang=C%23

[/align]