小编San*_*an4的帖子

curl - 解决PHP CURL库中的等价物

curl --resolve ....在PHP CURL库中是否有等价物?

背景:我有循环DNS(一个域名解析为多个IP),我想向特定主机发送请求.我使用基于apache名称的虚拟主机,因此必须在HTTP请求中显示正确的域名.

我已经尝试在请求URL中指定IP:curl_setopt($ch, CURLOPT_URL, '127.0.0.1')和使用curl_setopt($ch, CURLOPT_HTTPHEADER, 'Host: example.com').它适用于HTTP,但对于HTTPS,我得到SSL验证错误(显然CURL验证证书与URL主机名和非Host:主机名).

使用hosts文件不是一个方便的选择.

php ssl curl http

8
推荐指数
1
解决办法
5562
查看次数

node.js - 按时附加事件处理程序

我正在研究node.js并在node.js手册中遇到了这个例子:

...
var req = http.request(options);
req.end();

req.on('upgrade', function(res, socket, upgradeHead) {
  console.log('got upgraded!');
  socket.end();
  process.exit(0);
});
...
Run Code Online (Sandbox Code Playgroud)

我在这个例子中看到的是,创建请求之后,甚至在(计划发送)之后,处理程序附加到HTTP请求事件.更糟糕的是,手册说:

如果未侦听此事件,则接收升级标头的客户端将关闭其连接.

事件是否有可能 req.on(...有机会附加处理程序之前发生?我怀疑我对节点异步模型中的某些内容并不了解.或者这个代码来自节点手册,希望网络请求比执行下一行代码需要更长的时间?

另一个例子:

http.get("http://www.google.com/index.html", function(res) {
  console.log("Got response: " + res.statusCode);
}).on('error', function(e) {
  console.log("Got error: " + e.message);
});
Run Code Online (Sandbox Code Playgroud)

这里,HTTP请求将在创建对象后立即启动,之后我们才会附加错误处理程序.同样,(1)它是一个仅因网络延迟而起作用的代码,(2)我没有得到关于node.js概念的东西,或者(2b)事件将"等待"直到我附加一个处理程序?

编辑:更好的例子,也来自手动.下面的好的坏的例子是不同的,因为在好的例子中我们足够快地附加事件,因此错过数据的机会很少,或者永远不可能以这种方式错过数据(为什么?!)

// Good
request.on('response', function (response) {
  response.on('data', function (chunk) {
    console.log('BODY: ' + chunk);
  });
});

// …
Run Code Online (Sandbox Code Playgroud)

javascript-events node.js

7
推荐指数
1
解决办法
1689
查看次数

服务器端的JavaScript框架

我想用更好的东西替换PHP(似乎每个人都说PHP是邪恶的,对吗?),并考虑服务器端JavaScript.

node.js似乎很受欢迎,但我担心我会因为异步的东西而疯狂.是否可以在节点下编写正常(同步)代码?

我的清单:网络和命令行脚本,良好的性能(在 计算机语言
基准游戏
,V8似乎比PHP快一个数量级),最好是由一些公司或社区开发,以便它不会有一天被放弃,用户社区有一个像样的模块库.

我不考虑基于Rhino的各种框架,因为Rhino在Java中运行,而我不是Java,意识到它的内存占用,而且将javascript编译为java的整个想法对我来说毫无意义.

花了一些时间谷歌搜索,并发现了许多项目:Myna,Meteor,GromJS,APE,GLUEscript,v8cgi,silkjs,wakanda,GPSEE,sorrowjs,ejscript,Persevere,PhantomJS.

有人有经验吗?欢迎任何建议.

javascript server-side server-side-scripting javascript-framework serverside-javascript

6
推荐指数
2
解决办法
1万
查看次数

Windows 虚拟网络接口

我正在开发某种 VPN 应用程序,需要虚拟网络接口(又名 TUN/TAP)。是否有任何适用于 Windows 的驱动程序?

我所知道的唯一一个是 OpenVPN,但它是 GPL 的,因此 AFAIK 不能在封闭源应用程序中使用。

如果没有现成的解决方案,我会很感激自己对这种野兽进行编码有多复杂的一些估计(以及可能从哪里开始的一些方向)。

我发现了这个类似的问题,但它可以追溯到 2008 年。

windows vpn network-programming device-driver

5
推荐指数
1
解决办法
3592
查看次数

JavaScript - 继承B.prototype = new A()的数组

(我是JavaScript的新手).以下代码:

function A() {
    console.log('Constructing A');
    this.a = new Array();
}
function B(x) {
    console.log('Constructing B');
    this.a.push(x);
    this.b = x;
}
B.prototype = new A();
b1 = new B(10);
b2 = new B(11);
console.log('b1', b1);
console.log('b2', b2);?
Run Code Online (Sandbox Code Playgroud)

b1和b2中的结果共享单个 this .a数组(但不同 this.b).这就像一张浅色的副本.

我不太明白什么是创建单独 this.a数组的正确方法.我希望它们继承,因为这是代码的逻辑,除了我不想在每个子对象中创建它们(在我的情况下有很多子对象).

javascript oop inheritance prototypal-inheritance

5
推荐指数
1
解决办法
212
查看次数