Html 处理坏机器人请求url';s包含类似“符号”的符号&;amp&引用;而不是",&&引用;
因此,无论在哪里,我都会使用我放置的querystring将url指向某个路径&;而不是&这样我就得到了有效的HTML 有许多不同的爬虫程序浏览网站并访问此url,但它们不使用html解码方法来获取正确的url值,因此它们使用以下内容向我的网站发出请求:Html 处理坏机器人请求url';s包含类似“符号”的符号&;amp&引用;而不是",&&引用;,html,url,Html,Url,因此,无论在哪里,我都会使用我放置的querystring将url指向某个路径&;而不是&这样我就得到了有效的HTML 有许多不同的爬虫程序浏览网站并访问此url,但它们不使用html解码方法来获取正确的url值,因此它们使用以下内容向我的网站发出请求: mywebsite.com/?p1=v1&p2=v2 而不是 mywebsite.com/?p1=v1&p2=v2 现在我用错误页面回应,因为我对提出这个请求的机器人不感兴趣 但我的问题是,处理此类请求的最佳实
mywebsite.com/?p1=v1&p2=v2
而不是
mywebsite.com/?p1=v1&p2=v2
现在我用错误页面回应,因为我对提出这个请求的机器人不感兴趣
但我的问题是,处理此类请求的最佳实践是什么
您知道支持处理此类请求是否有任何用处吗?(例如,是否有任何流行的爬虫程序或浏览器不能正确转换此url?我认为您可以预期任何主要的爬虫程序都能够处理有效的转义url。所以剩下的我就不用担心了 如果您真的愿意,那么您可能希望将重写规则添加到Apache或您使用的任何东西中。但是,当URL真正包含charsequence
时,这可能会导致其他问题代码>并被错误的重写规则替换为&
在我看来,最好不要碰它。这不是你的错,当你真的不在乎这些爬虫的时候——那又怎样?:) 是&是一个保留字符,但您不会将其放在网站链接中
正确的
<a href="mywebsite.com/?p1=v1&p2=v2">mywebsite.com/?p1=v1&p2=v2</a>
不正确
<a href="mywebsite.com/?p1=v1&p2=v2">mywebsite.com/?p1=v1&p2=v2</a>
这是否在属性中?不要这样做。你可以配置你的web服务器来修复它,但它看起来像是一个爬虫,不知道它自己可能不值得麻烦事实上,W3C建议使用分号(;
)而不是&
)。但是支持代码>通常需要更改服务器上的配置。您可能仍然需要通过重定向到,来支持&
,因为当提交带有type=GET
的HTML表单时,浏览器会将您发送到&
URL。[链接]不确定您的观点是什么,但&p2=v2
是无效的HTML实体。不要将转义与实际内容混淆。直接从正确的版本:错误:&未启动字符引用。(&可能应该转义为&;)
事实上,正确的版本是不正确的,错误的版本是正确的。听起来矛盾,但这是真的!:)