我有一台打印机(实际上有几台),我想得到他们的状态页,并做一个小dom解析器,当耗材不足时告诉我。没什么大不了的,除了打印机在加载前抛出一个无效的ssl证书警告。我可以使用wget来获得这样的页面:
$wget -m --no-check-certificates 10.4.102.125但我宁愿使用php,如果它不是太复杂的话。
下面是我如何将页面作为数组下载的基本示例:
<?php
$target = "http://10.4.102.125";
$downloaded_page_array = file($target);
for($i=0; $i<count($downloaded_page_array); $i++)
echo $downloaded_page_array[$i];
?>如何在获取网页时忽略无效的ssl证书,而只转到我想要获取的页面,就像php中的数组一样?
我不想更改我的服务器设置。而且,我从来没有想过如何在这些打印机上成功地升级ssl证书。
发布于 2016-07-17 19:09:20
您可以使用curl
要跳过无效的SSL警告,请使用以下选项:
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);例如
<?php
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "http://10.4.102.125");
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
?>发布于 2016-07-17 19:25:19
由于您使用包装器来检索页面,因此需要设置context options and parameters。在这种情况下,您要查找的选项属于SSL (也适用于HTTPS),我相信您希望禁用此选项:
verify_peer布尔值
要求验证所使用的SSL证书。
设置上下文后,需要将其作为第三个参数传递给file
资源数组文件( string $filename [,
$flags =0, $context ] )
https://stackoverflow.com/questions/38420510
复制相似问题