Webkit2png无法使用--ignore-ssl-check

时间:2017-09-05 20:52:06

标签: python http security

我正在使用webkit2png截取此网站的屏幕截图:http://www.ukmt-resources.org.uk/JMC16.html

我收到了一个安全错误,我发现答案是将--ignore-ssl-check放入代码中。但这仅适用于某些网站。 我在Mac终端中使用以下代码:

webkit2png --ignore-ssl-check -D~ / Desktop http://www.ukmt-resources.org.uk/JMC16.html

为什么它仍未授予我许可?我得到了这个:

“App Transport Security已阻止明文HTTP(http://)资源加载,因为它不安全。可以通过应用程序的Info.plist文件配置临时例外。  ......出现问题:无法加载资源,因为App Transport Security策略要求使用安全连接。“

1 个答案:

答案 0 :(得分:0)

回答一个老问题:

我可以解决错误“发生SSL错误,并且无法建立与服务器的安全连接”。通过在本地安装我的自签名证书。

我遵循了本指南:https://tosbourn.com/getting-os-x-to-trust-self-signed-ssl-certificates/

  
      
  1. 找到证书文件所在的位置。它可能在您的Web服务器配置附近。
  2.   
  3. 打开钥匙串访问。您可以从Application / Utilities / Keychain Access.app进入它。
  4.   
  5. 将您的证书拖放到“钥匙串访问”中。
  6.   
  7. 进入“证书”部分,找到您刚刚添加的证书
  8.   
  9. 双击它,进入“信任”部分,然后在“使用此证书时”下选择“始终信任”
  10.   

对于我来说,我安装了虚拟主机中定义的本地apache的SSL证书:

let cityName = $("#cityName").val();
let apiCall = `http://api.openweathermap.org/data/2.5/weather?q=${cityName}&mode=json&units=metric&appid=${CONSTANTS.appId}`;

$.getJSON(apiCall, weatherData => {
  let cityName = weatherData.name;
  let countryName = weatherData.sys.country;
  let description = weatherData.weather[0].description;
  let tempMin = weatherData.main.temp_min;
  let tempMax = weatherData.main.temp_max;
  $("#city").text(cityName);
  $("#detail").text(description);
  $("#country").text(countryName);
  $("#mintemp").html(`Minimum: ${tempMin}<span>&#8451;</span>`);
  $("#maxtemp").html(`Maximum: ${tempMax}<span>&#8451;</span>`);
}).fail(() => {
  alert("City doesn't Exist!!");
  $("#cityName").val("");
  $("#city").text("");
  $("#detail").text("");
  $("#country").text("");
  $("#mintemp").html("");
  $("#maxtemp").html("");
});