所以我试图弄清楚如何从Pfam蛋白质序列搜索服务的REST Api获取XML文档来构建Java应用程序。不幸的是,他们的所有文档都假定您将使用Unix命令行或脚本语言,如Perl。基本上,我想要做的是将以下Unix命令行参数“转换”为一个URL,我可以在Web浏览器中输入以检索xml文档:
shell% curl -LH 'Expect:' -F seq=abhsghdsgsbsfkgajsdhsjsjsjdhsjshdj -F output=xml 'http://pfam.xfam.org/search/sequence'
以下是API文档的链接(http://pfam.xfam.org/help#tabview=tab10)。 谢谢你的帮助。
答案 0 :(得分:2)
您链接到的文档从一开始就解释了这一点;但我想作者可以更清楚地了解如何在不熟悉HTTP的读者之间转换GET和POST请求。
http://pfam.xfam.org/search/sequence?seq=abhsghdsgsbsfkgajsdhsjsjsjdhsjshdj&output=xml
答案 1 :(得分:2)
您提供的链接包含原因目前还没有使用typycal浏览器的方式:
运行搜索分为两个步骤:
- 提交搜索序列并指定搜索参数
- 以XML格式检索搜索结果
将操作分为两个步骤而不是分开的原因 在单个操作中执行搜索是指所花费的时间 执行序列搜索会根据长度而变化 序列搜索。 大多数网络客户端,浏览器或脚本都很简单 如果在短时间内未收到回复,则超时, 通常不到一分钟。通过提交搜索,等待然后 将结果作为单独的操作检索,我们避免了a的风险 客户在结果返回之前达到超时。
答案 2 :(得分:1)
浏览man page上的参数:
现在你有了这些要求,去写一些perl!
答案 3 :(得分:1)
"转换"将以下Unix命令行参数放入url中,我可以在Web浏览器中键入以检索xml文档
不幸的是,只有这里的信息,您无法做到这一点。这个语法
Expect:
标题POST
,请求正文中包含字段(-F
)。您直接输入浏览器的任何内容都是GET
,没有自定义标题。
但是,可能该服务还将接受GET
,其中包含查询中指定的参数:
http://pfam.xfam.org/search/sequence?output=xml&seq=abhsghdsgsbsfkgajsdhsjsjsjdhsjshdj'