首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Neko hxssl不为HTTPS工作

Neko hxssl不为HTTPS工作
EN

Stack Overflow用户
提问于 2016-06-02 11:36:55
回答 1查看 203关注 0票数 2

我正在做一个更大的项目重写,已经用neko写了一个相当大的代码库。该项目的一个方面是数据刮板,它将(在高峰时间)将100+连接打开到WebSockets服务器。最初,这是在使用WebSockets npm包运行大量nodejs进程的情况下完成的。问题是,这在某种程度上是不可靠的,并且会大大减慢机器运行这些进程的速度。我希望通过线程在单个neko进程中运行来解决这个问题。

但是,我遇到了一个我没有预料到的问题-- haxe对SSL / TLS的非常尴尬的支持(或缺乏这种支持)。据我所知,唯一可用的原生OpenSSL包装器是hxssl haxelib。我安装了它,但它仍然无法与WebSockets一起工作,所以我将问题追溯到一个更简单的情况--只是一个HTTPS连接,如下所示:

代码语言:javascript
复制
import haxe.Http;

class Main {
    public static function main(){
        var http = new Http("https://www.facebook.com/");
        http.certFolder = 'certs';
        http.certFile = 'certs/ca-certificates.crt';

        http.setHeader("Accept", "text/html,application/xhtml+xml,application/xml");
        http.setHeader("Accept-Language", "en-US");
        http.setHeader("Cache-Control", "max-age=0");
        http.setHeader("Connection", "close");
        http.setHeader("DNT", "1");
        http.setHeader("Upgrade-Insecure-Requests", "1");
        http.setHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");

        http.onData = function(data:String){
            Sys.println("Data: " + data.substr(0, 50) + " ...");
        }
        http.onError = function(msg:String){
            Sys.println("Error: " + msg);
        }
        http.onStatus = function(status:Int){
            Sys.println("Status: " + status);
        }
        http.request(false);
    }
}

问题是,有时它的输出很简单:

代码语言:javascript
复制
Status: 200
Error: Custom((1) : An unknown error has occurred.)

最糟糕的是发生这种情况的随机性。有时候,这种情况会连续发生很多次,即使我没有重新构建这个项目。我现在正在OS机器上运行这个。

certs文件夹中充满了从最新Ubuntu服务器上的证书复制的证书。但是,我尝试了不使用certFoldercertFile行,但结果基本相同。

知道是什么导致了这一切吗?编写一个更好的OpenSSL包装器/本机实现可能是不可能的,我有点时间紧迫。我尝试了上面的cpp构建,它在Socket代码中失败了,我也不确定我是否想走这条路。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-02 12:44:26

也许您可以为即将发布的3.3版本尝试RC,它已经内置了Neko/Hxcpp对SSL/TLS的支持。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37590739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档