2013-09-21 74 views
-2

我一直在尝试不同的方法来从以下链接获取数据: http://www.ensembl.org/Danio_rerio/Export/Output/Location?db=core;flank3_display=300;flank5_display=300;output=fasta;r=18:19408965-19409049;strand=feature;coding=yes;cdna=yes;peptide=yes;utr3=yes;exon=yes;intron=yes;genomic=unmasked;utr5=yes;_format=Text从URL检索数据失败

复制粘贴链接到一个网页浏览器对我的作品,但我不能给它编程在java中。

看来它不遵循get协议,因为参数分离不如预期。 我试图使用URL,但它将上面的链接分隔成服务器路径和查询并导致HTTP 500.我试图使用套接字,但又失败了。

我相信我需要的是简单地发送完整字符串然后读取结果的方法。

任何想法?

+1

的“不跟随GET协议”的一部分感到好笑。现在,如果你向我们展示代码,也许我们可以帮助。 – SJuan76

+0

请发布您正在使用的Java代码。 – Joe

+2

一种可能性是服务器期待HTTP头(如UserAgent),无论如何这将是一个非常扭曲的情况,如果这导致500. – SJuan76

回答

1

此代码读取第一行从URL成功:

URL u = new URL("http://www.ensembl.org/Danio_rerio/Export/Output/Location?db=core;flank3_display=300;flank5_display=300;output=fasta;r=18:19408965-19409049;strand=feature;coding=yes;cdna=yes;peptide=yes;utr3=yes;exon=yes;intron=yes;genomic=unmasked;utr5=yes;_format=Text"); 
    DataInputStream ds = new DataInputStream(u.openStream()); 
    String s = ds.readLine(); 
    System.out.println(s); 

它打印出:>18 dna:chromosome chromosome:Zv9:18:19408665:19409349:1

+0

谢谢,这真的告诉我,我的代码中一定有问题。 之后我可以修复;猜测我只需要证明它可以解决问题。 – jallmer