Twitter端点请求在部署到Heroku的Node应用程序中获取HTML响应

时间:2016-12-09 14:05:51

标签: json node.js curl heroku twitter

我制作了一个小脚本,查询Twitter公共端点,询问用户名的可用性。

对此端点的cURL请求会抛出一个格式如下的JSON响应:

$ curl 'https://twitter.com/users/username_available?username=jack'

{
  "valid":false,
  "reason":"",
  "msg":"Nombre de usuario no disponible",
  "desc":"Nombre de usuario no disponible"
}

基于此,我编写了一个小型NodeJS应用程序,它使用Request包发出相同的请求。

CURL 和我的应用在本地运行时都能正常运行。

但是在Heroku中, CURL 和我的应用程序获得完整的HTML响应(使用Twitter的移动版本)而不是JSON,因此我的应用程序无法解析和评估。

任何人都有类似的问题,并知道如何让它发挥作用?

谢谢!

修改(额外信息): 脚本在免费计划中的web dyno中运行。无法弄清楚如何切换到工人dyno(如果这仍然是一件事)

编辑2(更新):现在它正在工作人员Dyno上运行,但问题仍然存在。仍然得到HTML回复。

1 个答案:

答案 0 :(得分:1)

您调用的端点不是文档化或支持的Twitter API端点,因此不应期望获得支持,或保证它将起作用。如果您尝试定期从未知的IP地址访问此类端点,那么您应该期望通过Twitter的基础架构阻止IP作为保护措施。