请求 npm:处理重定向

2023-11-30

我想知道是否有人知道如何使用 Request npm 处理来自 bitly 或 tribal 或 Twitter 的 t.co URL 等网站的重定向。例如,如果我想使用 Request npm 抓取网页,并且我必须到达该页面的链接是一个将重定向我的小 URL 或缩短的 URL,那么我如何处理这些重定向?

我发现 Request npm 有一个“followRedirect”选项默认设置为 true。如果我将其设置为 false,我可以通过抓取返回的页面来获取该页面将我重定向到的下一个链接,但这不是最好的,因为我不知道我需要进行多少次重定向通过。

现在我收到 500 错误。当我将“followRedirect”设置为 true 时。当我将“followRedirect”设置为 false 时,我可以获得每个重定向页面。同样,我不知道我需要经过多少个重定向页面。代码如下:

var options = {
  followRedirect: false
};

request('http://t.co/gJ74UfmH4i', options, function(err, response, body){
     // when options are set I get the redirect page
     // when options are not set I get a 500
});

首先,你需要获取最后一个重定向url,使用followAllRedirects: true参数

request('http://t.co/gJ74UfmH4i', {
  method: 'HEAD',
  followAllRedirects: true
}, function(err, response, body) {
  var url = response.request.href
}) 

>

第二部分是向最终网址发出请求,并带有一些类似浏览器的标头

request(url, {
  headers: {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.46 Safari/537.36"
  },
}, function(err, response, body) { 
  //here is your body 
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

请求 npm:处理重定向 的相关文章

随机推荐

  • 如何在 Marklogic 中构建一个简单的搜索应用程序?

    我想在 Marklogic 中构建一个简单的搜索应用程序 但我不想使用应用程序生成器 我想编写自己的 xqy 文件 我想从用户那里获取名字 姓氏和地址的输入 用户可以按名字 姓氏或地址进行搜索 他还可以通过输入所有三个字段来进行搜索 也可以
  • python 中的哨兵循环

    因此 我从用户那里获取要存储到列表中的输入 并且使用哨兵循环不断要求用户输入数字 出现的问题是 当用户完成输入值后 我使用 停止 结束循环时 出现错误 ValueError 以 10 为基数的 int 的文字无效 停止 我不知道为什么 如果
  • 按键对哈希值进行排序,然后在 Ruby 中返回哈希值

    这是对哈希进行排序并返回哈希对象 而不是数组 的最佳方法吗 h a gt 1 c gt 3 b gt 2 d gt 4 gt a gt 1 c gt 3 b gt 2 d gt 4 Hash h sort gt a gt 1 b gt 2
  • GWT 编译的一些微妙之处 - “gwt 模块可能需要(重新)编译。”

    我正在将应用程序部署到 GAE 我在 Eclipse 中设置了一个项目 其中包含三个独立的 GWT 模块 每个模块都有自己的 HTML 页面 入口点等 它们共享大量代码 当我将应用程序部署到 appengine 时 其中两个模块工作正常 我
  • getstream.io 中的用户身份验证和配置文件

    我想知道是否可以直接使用 getstream io 管理用户配置文件和用户身份验证 我浏览了示例 但不明白用户是如何创建的 目前无法在 Stream 中管理用户帐户 配置文件和身份验证 Stream 最好与处理这些事情和其他功能 应用程序逻
  • OpenCV、Qt、imread、namedWindow、imshow 不起作用

    In the pro file QT core QT gui TARGET latihan 2 CONFIG console CONFIG app bundle TEMPLATE app SOURCES main cpp INCLUDEPA
  • 有人对 Play 框架有什么好的 A/B 测试策略吗?

    我对好的策略感兴趣A B 或拆分测试与 Play 框架 显而易见的选择是使用 Google 网站优化工具 但出于以下几个原因我不想这样做 只允许您测试表示层中的内容 很难根据收入等因素 而不是点击或转化等二元事件 进行测试 不得不用 Jav
  • 在 Click 事件上查找按钮的父 ListViewItem

    我有一个按钮作为每个 ListViewItem 的最后一列 当按下按钮时 我需要在单击事件中找到按钮 发送者 父列表视图项 我努力了 ListViewItem itemToCancel sender as System Windows Co
  • 通过指向派生类的基指针增强序列化[重复]

    这个问题在这里已经有答案了 可能的重复 使用多态档案增强序列化 我试图使用指向派生类的基指针来序列化我的类 但这仅序列化基类 我刚刚读过http www boost org doc libs 1 32 0 libs serializatio
  • contextMenu 破坏 FullCalendar 事件拖动

    因此 我最近使用 jQuery contextMenu http abeautifulsite net blog 2008 09 jquery context menu plugin 在 FullCalendar 中的事件中添加了一个上下文
  • .Net 中“InvokeRequired”和“Invoke”是什么意思?

    我在我正在开发的几个程序中做了很多线程方面的工作 并且我一直很好奇到底有些东西在做什么 以以下代码为例 该代码从线程运行以更新 UI Public Sub UpdateGrid If Me InvokeRequired Then Me In
  • iPhone 应用程序本地化,针对不同市场发布单独的应用程序

    我在瑞典应用商店上有一个应用程序 我打算将其适应其他一些市场 在这种情况下 本地化最重要的部分是改变应用程序针对不同市场 国家 的工作方式的某些方面 因此这主要不是语言适应 也许 我不会使用正常的内置机制进行本地化 相反 我考虑为不同的市场
  • System.OutOfMemoryException - 当实体框架查询 Varbinary 类型的太大数据时

    我正在尝试查询varbinary包含文件 1 2 Gb 的列 我正在使用实体框架 见下文 要测试的数据库 CREATE TABLE dbo BIGDATA id bigint IDENTITY 1 1 NOT NULL BIGDATA va
  • PyQt5 QObject:无法为位于不同线程中的父级创建子级

    我正在使用 PyQt5 在菜单系统托盘中工作 我对 PyQt5 非常陌生 我想做的是在不阻止菜单的情况下触发操作 多线程 在阅读了很多地方之后 我得出的结论是 使用Qthread应该是要走的路 但如果我能理解该类是如何工作的 然而 使用th
  • 如何对tin-can语句执行查询?

    我正在使用 Learning Locker 学习记录存储 我成功通过 REST API 向其中插入语句 但我没有成功从中获取语句 如何对语句执行查询 休息 API 我使用tinCanPhp 库 这是与 Learning Locker 数据库
  • Entity Framework 6 的动态 MySQL 数据库连接

    我希望将动态连接字符串传递到实体框架上下文 我有超过 150 个相同的模式 每个帐户一个 我想选择这样的连接 ApplicationDbContext db new ApplicationDbContext dbName 理论上 这相当容易
  • 如何通过表单嵌入 ruby​​.rb 文件,以便执行 ruby​​.rb 并在视图中显示结果

    假设我想通过表单将此代码嵌入到单独的 ruby rb 文件中 print Hello Please enter a value var gets to i if var 10 puts Correct else puts Your answ
  • 如何将FastAPI请求转发到另一台服务器?

    我有一个用于测试 开发目的的 FastAPI 应用程序 我想要的是 到达我的应用程序的任何请求都会自动发送到另一台服务器上的另一个应用程序 具有完全相同的参数和相同的端点 这是not重定向 因为我仍然希望应用程序像往常一样处理请求并返回值
  • 在不同的 PHP 页面中使用相同的 MySQL 连接

    我正在为我的大学项目创建一个简单的 PHP Web 应用程序 我正在使用 MySQL 数据库 我连接到login php 中的数据库 连接后 我将连接分配给 SESSION conn 然后重定向到 main php 在 main php 中
  • 请求 npm:处理重定向

    我想知道是否有人知道如何使用 Request npm 处理来自 bitly 或 tribal 或 Twitter 的 t co URL 等网站的重定向 例如 如果我想使用 Request npm 抓取网页 并且我必须到达该页面的链接是一个将