0

我正在尝试Deno,在运行示例时遇到了错误:

$ deno run https://deno.land/std/examples/curl.ts https://example.com
Download https://deno.land/std/examples/curl.ts
Warning Implicitly using master branch https://deno.land/std/examples/curl.ts
Compile https://deno.land/std/examples/curl.ts
error: Uncaught PermissionDenied: network access to "https://example.com/", run again with the --allow-net flag
    at unwrapResponse ($deno$/ops/dispatch_json.ts:43:11)
    at Object.sendAsync ($deno$/ops/dispatch_json.ts:98:10)
    at async fetch ($deno$/web/fetch.ts:591:27)
    at async https://deno.land/std/examples/curl.ts:3:13

我试过做

$ deno run https://deno.land/std/examples/curl.ts https://example.com --allow-net

但仍然得到同样的错误。我做错了什么?

4

3 回答 3

3

--allow-net标志必须在文件名之后deno run和之前,而不是在末尾附加。

deno run --allow-net https://deno.land/std/examples/curl.ts https://example.com

在此处阅读有关Deno 权限的更多信息。

于 2020-05-17T05:25:33.897 回答
0

Deno是一个默认安全的运行时。这意味着您需要明确授予程序执行某些“特权”操作的权限,例如访问网络。

使用--allow-net=<domain>权限标志:在你的情况下deno run --allow-net=example.com https://deno.land/std/examples/curl.ts https://example.com

如果您不提供域名,它将允许所有域再次成为安全隐患。请参阅此处权限

于 2020-05-27T13:01:57.143 回答
0
--allow-env                    
    Allow environment access

--allow-hrtime                 
    Allow high resolution time measurement

--allow-net=<allow-net>        
    Allow network access

--allow-plugin                 
    Allow loading plugins

--allow-read=<allow-read>      
    Allow file system read access

--allow-run                    
    Allow running subprocesses

--allow-write=<allow-write>    
    Allow file system write access

例子

    deno run --allow-net app.ts //give a network permission

    deno run --allow-all app.ts //give an all permission
于 2020-05-20T04:50:15.203 回答