阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Deno 发起 HTTP 请求

      发出一个 HTTP 请求

      通过 HTTP 请求从服务器获取数据是一件很常见的事。

      让我们编写一个简单的程序来获取文件并打印到终端。

      就像浏览器一样,您可以使用 web 标准的 fetch API 来发出请求。

      const url = Deno.args[0];
      const res = await fetch(url);
      
      const body = new Uint8Array(await res.arrayBuffer());
      await Deno.stdout.write(body);
      

      让我们看看它做了什么:

      1. 第一个命令行参数,存储到变量 url
      2. 我们向指定的地址发出请求,等待响应,然后存储到变量 res
      3. 我们把响应体解析为一个 ArrayBuffer,等待接收完毕,将其转换为 Uint8Array,最后存储到变量 body
      4. 我们把 body 的内容写入标准输出流 stdout

      真实跑一下

      deno run https://deno.land/std/examples/curl.ts https://www.axihe.com
      

      https://a.axihe.com/edu/deno/powershell_biCZBsyaar.png

      这个程序将会返回一个关于网络权限的错误,我们好像姿势不对啊?

      显式赋予程序权限

      您可能会想起来,最开始就说过,Deno 默认用安全环境执行代码。

      这意味着您需要显式赋予程序权限,允许它进行一些特权操作,比如网络访问。

      用正确的权限选项再试一次:

      deno run --allow-net=www.axihe.com https://deno.land/std/examples/curl.ts https://www.axihe.com
      

      这次就成功啦~!

      https://a.axihe.com/edu/deno/powershell_5shK6fKMQ0.png

      卖前端学习教程

      只需几十元,就能买到培训班的内部教程!开启高薪之路!

      零基础小白阿里P7的教程都有!

      同时长期收购所有培训班的前端教程

      目录
      目录