我制作了一个小脚本,查询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回复。
答案 0 :(得分:1)
您调用的端点不是文档化或支持的Twitter API端点,因此不应期望获得支持,或保证它将起作用。如果您尝试定期从未知的IP地址访问此类端点,那么您应该期望通过Twitter的基础架构阻止IP作为保护措施。