【发布时间】:2012-03-03 23:35:23
【问题描述】:
我一直在使用 Rails 3.2 在 Rails 控制台中工作,并且正在使用 Nokogiri 生成 XML 文件。从这里,我需要发布到外部 API 以获取一些数据并将其返回到我的应用程序中。最终这段代码将成为控制器的功能,但目前我一直在控制台中进行试验。
我使用 Nokogiri 和指定的参数生成 XML 文件,并使用以下命令存储输出:
File.open('results.xml', 'w') {|f| f.write(results)}
从这里,我想将此文件发布到外部 API。我使用的命令将其保存在我的应用程序的 /public 目录中。从这里开始,我不确定如何使用 cURL 访问它。
我尝试将它放在一个视图目录中并设置一个路由,以便我可以获取该文件,并且我至少可以访问它。这是我在 cURL 中尝试的(注意当时 Rails 服务器正在运行,下面的 API 路径是出于示例目的而组成的):
curl -X POST -v --data-ascii http://localhost:3000/search/postresults.xml http://APIPATH/example.php
这个让我沮丧了一段时间,当我尝试时,我得到一个错误提示:
SyntaxError: (irb):5: syntax error, unexpected tCONSTANT, expecting keyword_do or '{' or '('
curl -X POST -v --data-ascii http://local...
^
(irb):5: syntax error, unexpected tUMINUS, expecting keyword_do or '{' or '('
curl -X POST -v --data-ascii http://localhost:...
^
(irb):5: syntax error, unexpected tLABEL, expecting keyword_do or '{' or '('
...l
-X POST -v --data-ascii http://localhost:3000/search/postr...
... ^
(irb):5: unknown regexp options - lcalht
我已经尝试了所有标准故障排除方法(已安装 curl - 版本 0.0.9,服务器正在运行,curl 在我的 Gemfile 中等),因此非常感谢任何帮助。谢谢!
【问题讨论】:
标签: ruby-on-rails xml api post curl