- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
以下脚本在运行 libwww-perl-5.836
的主机上返回综合 header ,但在使用 libwww-perl-6.30.0
的主机上不返回。在这种情况下,脚本会显示以下内容:
500 Can't connect to backend.mutegroup.org:443 (certificate verify failed)
Content-Type: text/plain
Client-Date: Mon, 28 Jul 2014 21:09:28 GMT
Client-Warning: Internal response
Can't connect to backend.mutegroup.org:443 (certificate verify failed)
LWP::Protocol::https::Socket: SSL connect attempt failed with unknown error error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed at /usr/lib64/perl5/vendor_perl/5.16.3/LWP/Protocol/http.pm line 51.
这是脚本:
#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Request::Common;
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0, } );
my $url = 'https://backend.mutegroup.org/api/getLastId';
my $request = POST $url;
print $ua->request($request)->as_string
默认情况下,libwww-perl-5.837
及之前的版本不会验证主机名。这就解释了为什么它适用于旧主机。但是,我明确禁用检查并且它仍然坚持执行它们。
这是在 Gentoo 系统上。
最佳答案
您已关闭验证主机名;您没有关闭验证证书。
verify_hostname
控制“LWP 是否将针对安全协议(protocol)方案确保它连接到具有有效证书的服务器匹配预期的主机名”(我强调)。将其设置为 0 允许您连接到具有有效证书但未针对您尝试访问的主机/主机名颁发的服务器。
要关闭检查证书是否有效(由受信任的 CA 颁发),您需要:
use IO::Socket::SSL;
my $ua = LWP::UserAgent->new(
ssl_opts => {
verify_hostname => 0,
SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
},
);
请注意,如果您正在传输任何敏感信息或希望信任返回的数据,则关闭这些选项中的任何一个都不是一个好主意。关闭其中任何一个,您将失去 SSL 的优势,并且容易受到各种中间人攻击。
关于perl - LWP::UserAgent 坚持验证主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25000331/
我有一个简单的 perl 脚本,它使用 LWP::UserAgent 连接到一个安全站点。它工作正常。当我使用 Mojo::UserAgent 时,它无法验证证书。这是可靠且可重复的。基本的 Perl
我最近将 gwt.xml 脚本更改为仅编译 1 个排列(仅限 ie8),这解决了我之前的问题,但是出现了一个外观问题,即每次使用 IE8 打开我的 GWT 页面时都会显示一个烦人的弹出窗口 这里我包含
如果我提出这样的请求: my $mojo_ua = Mojo::UserAgent->new->max_redirects(5); $mojo_ua->inactivity_timeout(60)->
是否有任何默认方式来记录哪些用户代理访问了您的服务器?我需要编制一份访问我们网站的浏览器列表,以便我们知道我们最能支持什么。 谢谢! 最佳答案 日志CGI.HTTP_USER_AGENT ,也许在 A
我读了这个 MSDN 喜欢它并运行它的例子。 http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.useragent.a
我正在尝试使用 JSoup 解析 facebook 的首页,但我总是获得移动设备的 HTML 代码,而不是普通浏览器的版本(在我的例子中是 Firefox 5.0)。 我将我的用户代理设置如下: do
我正在制作一个包含 WebBrowser 元素的应用程序,我想让该应用程序显示该用户的默认浏览器的用户代理。 我知道如何通过注册表项获取默认浏览器以及如何获取浏览器的用户代理,但不知道如何将两者结合起
我正在使用 ionic、cordova 4.3、angular 和 firebase 开发一个应用程序。当我在 iOS 上运行我的应用程序时,我总是收到这两条消息: Deprecated attemp
我使用 javascript 作为用户代理将主网站重定向到移动网站。但我无法在移动设备中切换到桌面 View 。 有什么方法可以通过链接“完整网站”重定向到移动设备上的主网站? 这是我正在使用的 Ja
我正在尝试检测浏览器是否为 Safari。如果是这样,那么才做点什么。在所有其他浏览器中,执行其他操作: if ( navigator.userAgent.toLowerCase().indexOf(
我正在尝试发送一个将其用户代理设置为带有冒号的内容的请求,但是 HttpRequestMessage提示冒号是无效字符。 确切的代码看起来像这样: HttpClient client = new Ht
我想使用 MobileVLCKit 在视频播放器应用程序中设置自定义用户代理。但我不确定如何在 3.3.16 版本中设置它。如果有人对此有经验,请告诉我。谢谢。 最佳答案 我找到了解决方案。 let
只是想知道 VB.NET 在访问网页时读取的浏览器类型。例如,在我的网站上,它显示了访问我网站的所有不同浏览器的分割。 最佳答案 您没有为您的问题提供太多背景信息,但我认为您在谈论 User Agen
我正在尝试向不可靠的服务器发出请求。这个请求很好,但不是 100% 需要我的 perl 脚本成功完成。问题是服务器偶尔会死锁(我们正在尝试找出原因)并且请求永远不会成功。由于服务器认为它是事件的,它保
我正在使用以下子例程运行 40 个左右的线程: my $app = shift; my $ua = LWP::UserAgent->new(); $ua->timeout(5); my $respon
我正在尝试确定向用户显示哪种界面。如果用户使用触摸屏手机访问我的网站,我想向他们展示一个界面,否则,我想向他们展示另一个界面。 有谁知道 UserAgent 字符串值列表,以便我可以进行此检查?我知道
代码如下: $vizFile ='https://docs.recipeinvesting.com/t.aaaf.html'; my $ua = LWP::UserAgent->new; $ua->t
我将用户代理提取为: string userAgent = HttpContext.Current.Request.UserAgent; UserAgent 是否有可能为空?是否仅适用于机器人或任何合
代码如下: $vizFile ='https://docs.recipeinvesting.com/t.aaaf.html'; my $ua = LWP::UserAgent->new; $ua->t
我正在尝试使用 LWP::UserAgent 设置凭据,但我无法登录。$username、$passwd 是正确的。我不明白我应该在第三个参数中输入什么(根据dos $realm,这里是Authent
我是一名优秀的程序员,十分优秀!