我制作了一个小脚本,询问Twitter公共端点以要求用户名的可用性。
对此端点的卷曲请求会引发以下格式的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应用程序,该应用程序提出了相同的请求(使用请求包)。
curl ,我的应用在本地运行时正常工作。
但是在Heroku中,这两个 curl 和我的应用程序获得了完整的HTML响应(带有Twitter的移动版本),而不是JSON,因此我的应用程序无法解析和评估。
任何人都有类似的问题,并且知道如何使其工作?
谢谢!
编辑(额外信息):脚本在免费计划中在Web Dyno中运行。无法弄清楚如何切换到工人的dyno(如果那仍然是一件事情)
编辑2(更新):现在它在工作dyno上运行,但问题仍然存在。仍然得到HTML响应。
您要调用的端点不是被记录的或受支持的Twitter API端点,因此不应期望支持或保证它将起作用。如果您尝试从未知的IP地址定期击中此类端点,那么您应该期望IP被Twitter的基础架构作为保护措施。