2013-09-21 87 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