小编hip*_*ail的帖子

你如何在Node.js中遵循HTTP重定向?

我想在节点中打开一个页面并处理我的应用程序中的内容.像这样的东西似乎运作良好:

var opts = {host: host, path:pathname, port: 80};
http.get(opts, function(res) {
  var page = '';
  res.on('data', function (chunk) {
    page += chunk;
  });
  res.on('end', function() {
     // process page
  });
Run Code Online (Sandbox Code Playgroud)

但是,如果页面返回301/302重定向,则不起作用.如果有多个重定向,我将如何以可重用的方式执行此操作?在http之上是否有一个包装器模块可以更轻松地处理来自节点应用程序的http响应?

http-redirect node.js

70
推荐指数
6
解决办法
9万
查看次数

无头互联网浏览器?

我想做以下几点.登录网站,单击几个特定链接,然后单击下载链接.我想将它作为Windows上的计划任务或Linux上的cron作业运行.我对我使用的语言并不挑剔,但我希望如果可能的话,不要在屏幕上放置浏览器窗口.

automation webautomation headless-browser

69
推荐指数
3
解决办法
7万
查看次数

Chrome中的HTML 5地理位置提示

刚刚开始进入HTML 5和测试地理位置...喜欢它到目前为止.我有点速度碰撞......当我试图获取我的地理位置时,chrome会自动阻止页面获取我的位置.这不会发生在其他网站,如下面的网站:

http://html5demos.com/geo

我正在使用的脚本:

<script type="text/javascript" JavaScript" SRC="geo.js"></script>   
<script type="text/javascript" JavaScript" SRC="Utility.js"></script> 
<script type="text/javascript" JavaScript" SRC="jquery.js"></script> 
<script type="text/javascript" JavaScript" SRC="modernizr.js"></script>  

function get_location() {

        if (geo_position_js.init()) {
            geo_position_js.getCurrentPosition(show_map, handle_error);
        }

    }
    function show_map(position) {
        var latitude = position.coords.latitude;
        var longitude = position.coords.longitude;

        alert("lat:" + latitude + " long:" + longitude);


    }
    function handle_error(err) {
        alert(err.code);
        if (err.code == 1) {
            // user said no!
        }
    }

    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(show_map, handle_error);
    } else {
        error('not supported');
    }
Run Code Online (Sandbox Code Playgroud)

我正在我的机器上的本地目录中测试这个,所以没有像"http://whatever.com/mytestpage.html"这样的"域名".这是我没有得到提示的原因吗?如果是这样,是否可以强制浏览器请求获取用户地理位置的权限,是否可以在我的方案中使用?

html5 google-chrome geolocation file-uri

68
推荐指数
3
解决办法
9万
查看次数

何时启用CORS是安全的?

我正在开发一个JSON/REST Web API,我特别希望第三方网站能够通过AJAX调用我的服务.因此,我的服务是发送着名的CORS标题:

Access-Control-Allow-Origin: *
Run Code Online (Sandbox Code Playgroud)

这允许第三方站点通过AJAX调用我的服务.到目前为止都很好.

但是,我的web api的一个子部分是非公开的,需要身份验证(OAuth和access_token cookie非常标准).在我的网站的这一部分启用CORS是否安全?

一方面,如果第三方网站可以拥有也与我的这部分服务进行交互的ajax客户端,那将会很酷.但是,首先存在相同原产地政策的原因是这可能存在风险.您不希望之后访问的任何网站能够访问您的私人内容.

我担心的情况是用户登录我的网络API,无论是在网站上还是通过他信任的网站,他忘记退出.这会允许他之后使用现有会话访问其私人内容吗?

所以我的问题:

  • 在非公开内容上启用CORS是否安全?
  • 如果启用CORS的服务器通过cookie设置session_token,该cookie是否会保存在CORS服务器或主网页服务器的域下?

security ajax web-services cross-domain cors

68
推荐指数
2
解决办法
3万
查看次数

正则表达式匹配埃及象形文字

我想知道一个匹配埃及象形文字的正则表达式.我完全无能为力,需要你的帮助.

我无法发布信件,因为堆栈溢出似乎无法识别它.

所以任何人都可以让我知道这些角色的unicode范围.

regex unicode internationalization

67
推荐指数
2
解决办法
5325
查看次数

找不到模块“ts-transformer-keys”。您的意思是将“moduleResolution”选项设置为“node”,还是将别名添加到“paths”选项?

我想在我的打字稿项目中使用ts-transformer-keys"typescript": "^4.5.5"。所以我将此依赖项添加到打字稿中package.json

"ts-transformer-keys": "^0.4.3",
Run Code Online (Sandbox Code Playgroud)

并将其添加为tsconfig.json这样:

"plugins": [
      { "transform": "ts-transformer-keys/transformer" }
] 
Run Code Online (Sandbox Code Playgroud)

ts-transformer-keys但是当我在当前项目中导入时:

import { keys } from 'ts-transformer-keys';
Run Code Online (Sandbox Code Playgroud)

显示错误:

Cannot find module 'ts-transformer-keys'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?ts(2792)
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?我应该怎么做才能解决这个问题?我已经运行了yarn命令。节点版本是16.13.2.

typescript

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

uʍop-ǝpᴉsdn文本如何工作?

这是我发现的一个网站,它将生成任何英文文本的颠倒版本.

它是如何工作的?unicode有颠倒的字符吗?或者是什么?

如何编写自己的文本翻转功能?

unicode text-processing

64
推荐指数
5
解决办法
3万
查看次数

合并jQuery对象

有可能将几个jQuery DOM对象合并到一个数组中并在所有数组上调用jQuery方法吗?

F.ex:

<button>one</button>
<h3>two</h3>

<script>

var btn = $('button');
var h3 = $('h3');

$([btn,h3]).hide();

</script>
Run Code Online (Sandbox Code Playgroud)

这不起作用.我知道我可以使用'button,h3'选择器,但在某些情况下我已经有几个jQuery DOM元素,我需要合并它们,所以我可以在所有这些上调用jQuery原型.

就像是:

$.merge([btn,h3]).hide();
Run Code Online (Sandbox Code Playgroud)

会工作.有任何想法吗?

更新:

解决了它.你可以这样做:

$.fn.add.call(btn,h3);
Run Code Online (Sandbox Code Playgroud)

我将接受这个add()建议,指出我正确的方向.

jquery

63
推荐指数
3
解决办法
3万
查看次数

如果只有一个结果,则替代列表理解

我开始习惯于在Python中列出理解,但我担心我使用它有些不正确.我已经遇到了几次使用列表理解但是立即从生成的列表中获取第一个(也是唯一的)项目的场景.这是一个例子:

actor = [actor for actor in self.actors if actor.name==actorName][0]
Run Code Online (Sandbox Code Playgroud)

(self.actors包含一个对象列表,我试图找到一个具有特定(字符串)名称的名称,该名称位于actorName中.)

我正在尝试从列表中提取与我正在寻找的参数匹配的对象.这种方法不合理吗?晃来晃去[0]让我觉得有点不安全.

python list-comprehension

62
推荐指数
2
解决办法
8801
查看次数

使用PhantomJS和node.js保存并呈现网页

我正在寻找一个请求网页,等待JavaScript呈现(JavaScript修改DOM),然后抓取页面的HTML的示例.

这应该是一个简单的例子,有一个明显的PhantomJS用例.我找不到一个体面的例子,文档似乎都是关于命令行使用的.

html javascript node.js web-scraping phantomjs

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