C# darksky api:TLS需求更改,库不再工作
我一直在为darksky API使用这个C#库包装器:C# darksky api:TLS需求更改,库不再工作,c#,http,tls1.2,darksky,C#,Http,Tls1.2,Darksky,我一直在为darksky API使用这个C#库包装器: https://github.com/amweiss/dark-sky-core 在我的实现中,我每3分钟进行一次民意调查,以获得预测,我在家庭恒温器网络中使用该预测: async void GetForecast() { // https://darksky.net/dev/docs#forecast-request float Temp, DewPoint, WindSpeed, Wi
https://github.com/amweiss/dark-sky-core
在我的实现中,我每3分钟进行一次民意调查,以获得预测,我在家庭恒温器网络中使用该预测:
async void GetForecast()
{
// https://darksky.net/dev/docs#forecast-request
float Temp, DewPoint, WindSpeed, WindChill, Humidity, HeatIndex;
var client = new DarkSkyService("user-api-key");
try
{
Forecast fc = await client.GetWeatherDataAsync(38.329444, -87.412778);
Temp = (float)Math.Floor(fc.Currently.Temperature);
PublishTemp(Temp);
// for database, get temp, dewpoint, calculate windchill, calculate heatindex
DewPoint = (float)fc.Currently.DewPoint;
WindSpeed = (float)fc.Currently.WindSpeed;
Humidity = (float)fc.Currently.Humidity; // range: 0-1
WindChill = (float)CalculateWindChill(Temp, WindSpeed);
HeatIndex = (float)CalculateHeatIndex(Temp, Humidity);
SaveToDatabase(Temp, DewPoint, WindChill, HeatIndex);
RxForecast = true;
if (DateTime.Now.Hour != LastForecastHour)
{
LatestForecast = fc;
LastForecastHour = DateTime.Now.Hour;
PublishForecasts();
}
}
catch (Exception s) {
RxForecast = false;
}
ForecastWaitTime = RxForecast ? FAST_FORECAST_CYCLE : SLOW_FORECAST_CYCLE;
}
在一周前突然停止工作之前,它已经正常工作了大约4个月。Darksky support表示,他们最近实施了安全更新,不再支持最常见的TLS密码(引用):
我不知道我需要对这段代码做什么更改来“更新TLS”,而且我似乎无法从darksky那里获得更多信息。与此同时,我的报警系统处于停滞状态
有一件事我不明白,如果我在浏览器中键入此URL:
https://api.darksky.net/forecast/my-api-key/38.329444, -87.412778
它工作正常,并立即返回一个巨大的JSON预测字符串。在代码中使用HttpWebRequest、HttpClient或WebClient尝试此操作会导致不同的“出错”异常。总的来说,我更愿意将库用于返回的易于解释的Forecast对象
这个TLS更新是我在开发环境之外的系统级所做的吗
或者,有没有什么可以替代黑暗的方法可以让我转用呢?你有两个选择:
1:更新正在使用的库并重新编译。该问题已在其github页面上报告:
https://github.com/jcheng31/DarkSkyApi/issues/28
2:这需要做一点工作,但是您可以将预测模块移动到Linux/Raspberry Pi,其中已经配置了TLS12。要做到这一点,您必须用Python重写例程。我验证了这种方法可以在我自己的PI网络上工作 @user3235770:谢谢你的信息!我已经开始转换到Python,但我可能会尝试修复Windows version.LMAO!看来有人忘了把答案贴在他们的代表“蓝精灵”身上。
https://github.com/jcheng31/DarkSkyApi/issues/28