Firefox下载某些论坛附件时,文件名在空格处被截断的解决办法
Posted: Jan 07 2008, 21:06
很多使用firefox的人肯定知道,下载某些论坛(比如霏凡)的附件时,只要文件名中包含空格,文件名就会从第一个空格处截断,这是由于Content-Disposition中返回的filename没有加引号,知道了原因,解决起来就很简单,还是prox,加入以下规则到header:
解释一下:这里的url地址match了2类论坛的下载地址,其它论坛的下载地址,可根据prox的log里查看并添加。
另外,可以在header value match这部分加上
这样只有在使用firefox的情况下,此规则才会生效
$IHDR(header-name:matching)
$OHDR(header-name:matching)
$OHDR 和 $IHDR 可以分别用来检查发送和接收的HTTP header信息。header-name是特定的header(不能使用通配符),后面的matching用来检查它的值(可以使用通配符)。当header的值符合条件,则它会返回true值。$OHDR 检查发送的header而 $IHDR 检查接收到的header。下面的例子会匹配 "Referer" 中包含 'microsoft.com' 的header
$OHDR(Referer:*.microsoft.com)
使用此命令,你可以使某个 web filter 在指定的 header 同时匹配时才生效,或者用它来获得并可以在某替换部分以变量的形式插入此header的值,另外,还可以在 HTTP header 规则联合使用以达到更精确的匹配。
Code: Select all
[HTTP headers]
In = TRUE
Out = FALSE
Key = "Content-Disposition: Fix filename (in)"
URL = "*(/attachment.php\?aid\=[0-9]+|/job.php\?action\=download\&pid\=*)"
Match = "\1filename=$AV(\3)\2"
Replace = "\1filename="\3\2""
另外,可以在header value match这部分加上
Code: Select all
$OHDR(User-Agent: *Gecko/*Firefox/*)
$IHDR(header-name:matching)
$OHDR(header-name:matching)
$OHDR 和 $IHDR 可以分别用来检查发送和接收的HTTP header信息。header-name是特定的header(不能使用通配符),后面的matching用来检查它的值(可以使用通配符)。当header的值符合条件,则它会返回true值。$OHDR 检查发送的header而 $IHDR 检查接收到的header。下面的例子会匹配 "Referer" 中包含 'microsoft.com' 的header
$OHDR(Referer:*.microsoft.com)
使用此命令,你可以使某个 web filter 在指定的 header 同时匹配时才生效,或者用它来获得并可以在某替换部分以变量的形式插入此header的值,另外,还可以在 HTTP header 规则联合使用以达到更精确的匹配。