Categories: CoffeeScript 教程

CoffeeScript HTTP 客户端

HTTP 客户端

问题

你想创建一个HTTP客户端。

解决方案

在这个方法中,我们将使用node.jss HTTP库。我们将从一个简单的客户端GET请求示例返回计算机的外部IP。

关于 GET

http = require http

http.get { host: www.google.com }, (res) ->
    console.log res.statusCode

get函数,从node.jss http模块,发出一个GET请求到一个http服务器。响应是以回调的形式,我们可以在一个函数中处理。这个例子仅仅输出响应状态代码。检查一下:

$ coffee http-client.coffee 
200

我的 IP 是什么?

如果你是在一个类似局域网的依赖于NAT的网络中,你可能会面临找出外部IP地址的问题。让我们为这个问题写一个小的coffeescript 。

http = require http

http.get { host: checkip.dyndns.org }, (res) ->
    data = 
    res.on data, (chunk) ->
        data += chunk.toString()
    res.on end, () ->
        console.log data.match(/([0-9]+.){3}[0-9]+/)[0]

我们可以从监听data事件的结果对象中得到数据,知道它结束了一次end的触发事件。当这种情况发生时,我们可以做一个简单的正则表达式来匹配我们提取的IP地址。试一试:

$ coffee http-client.coffee 
123.123.123.123

讨论

请注意http.get是http.request的快捷方式。后者允许您使用不同的方法发出HTTP请求,如POST或PUT。

在这个问题上的API和整体信息,检查node.jss httphttps文档页面。此外,HTTP spec可能派上用场。

练习

  • 为键值存储HTTP服务器创建一个客户端,使用基本的HTTP服务器方法。
admin

这个人很懒,什么都没有留下~

Share
Published by
admin

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

3 天 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

1 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

2 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

3 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

3 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

4 周 ago