我使用PHP加载DOM树中的网站.有没有办法修改使用发送的用户代理DOMDocument::loadHTMLFile()?
function parseThis($url)
{
$html = new DOMDocument();
$html->loadHtmlFile( $url );
return $html
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Delphi,我正试图从网页获取源代码.
我的问题是,当我使用Indy(idHttp)或Clever Components(clHttp)而不是IE和/或谷歌Chrome时,我会得到不同的源代码.
有没有什么方法可以用Delphi检索网页源,与浏览器显示的方式完全相同?
是否可以假设某个浏览器指示支持Mozilla/5.0 (compatible...)HTML5?
我非常想知道navigator.userAgent结果中的值。
我在chrome、FireFox和IE 8中执行了navigator.userAgent
我得到的结果是,
In IE8 ==>
"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; InfoPath.2)"
In chrome ==>
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36"
In FireFox ==>
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"
Run Code Online (Sandbox Code Playgroud)
有人可以解释每个结果中的值吗?
提前致谢..
所以我正在构建我自己的 Web 应用程序类型的项目。但是,我只希望可以通过我的 Web 客户端查看该网站。我已将 Web 客户端的用户代理设置设置为自定义名称 ( MySecretClient),现在尝试仅允许从具有用户代理的浏览器访问MySecretClient. 其他所有人都被重定向。
有没有更好的方法来做到这一点?
我经常在我的网络服务器中看到来自亚马逊 IP 范围的 \xe2\x80\x9cx-middleton\xe2\x80\x9d 标志,看起来像正常流量(有多种用户代理,但它们都共享该 x-米德尔顿在最后)
\n\n有人知道它可能是什么吗?
\n\n我遇到了这个链接http://support.ezoic.com/hc/en-us/articles/206245065-Origin-Errors-and-other-error-messages-但它也没有多大意义。
\n我正在运行以下命令来使用 Powershell System.Net.WebClient 方法下载文件:
powershell -Command "(New-Object System.Net.WebClient).DownloadFile('https://domain.name/file.name','C:\file.name')"
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以自定义用户代理并保留单行命令格式?
我问这个问题的原因是因为该网站将请求识别为来自机器人,并且我收到了 HTTP 403 禁止错误。当我使用 Internet Explorer 时,我可以毫无问题地下载该文件。我想保留单行格式,因为该命令是从 Windows 中的批处理 (.bat) 文件调用的。
我正在搜索如何检测用户是否通过强制门户访问网站(例如当您连接到 WiFi LAN 并要求登录时),因此我尝试破译用户代理字符串,我自己的手机返回访问强制门户时:
mozilla/5.0 (linux; android 7.1.2; vibe k5 plus build/njh47b; wv) applewebkit/537.36 (khtml, like gecko) version/4.0 chrome/61.0.3163.98 mobile safari/537.36
Run Code Online (Sandbox Code Playgroud)
通过普通 Chrome 访问页面时:
mozilla/5.0 (linux; android 7.1.2; vibe k5 plus build/njh47b) applewebkit/537.36 (khtml, like gecko) chrome/61.0.3163.98 mobile safari/537.36
Run Code Online (Sandbox Code Playgroud)
我在字符串中看到的最大区别vw,但我在用户代理解释中找不到有关该字符串的任何内容,有人有想法吗?
最近,我遇到了数据挖掘机器人的一些问题,每天在一天中的某些时间从我的网站提取数据。这不仅会浪费我的带宽,还会向我的谷歌分析提供错误的数据。
他们通常使用 amazonaws IP 进入,但最近他们已切换到其他主机。
保持不变的是它们使用相同的用户代理。有没有办法阻止使用 useragent?这是因为我尝试过但失败了。希望我能从中得到启发。
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu HeadlessChrome HeadlessChrome Safari/537.36
RewriteRule .* - [R=503,L]
Run Code Online (Sandbox Code Playgroud)
更新: 这是我更新的 .htaacess,如果它对社区的外观有所帮助,仅供将来参考。谢谢怀特先生
<LocationMatch .*>
<IfModule mod_security2.c>
SecRuleRemoveById 211170
SecRuleRemoveById 211180
</IfModule>
</LocationMatch>
Options +FollowSymlinks
Options -Indexes
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
Require all denied
</FilesMatch>
# SEO URL Settings
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu HeadlessChrome HeadlessChrome Safari/537.36"
RewriteRule .* - [F]
RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L] …Run Code Online (Sandbox Code Playgroud) 假设我想取消Mojo::UserAgent? 我怎样才能做到这一点?
user-agent ×10
.htaccess ×2
apache ×2
browser ×2
php ×2
android ×1
batch-file ×1
client ×1
delphi ×1
domdocument ×1
html ×1
http ×1
javascript ×1
logging ×1
mod-rewrite ×1
mojolicious ×1
mozilla ×1
navigator ×1
nginx ×1
perl ×1
powershell ×1
promise ×1
security ×1
system.net ×1
web-scraping ×1