2014-01-20 49 views
0

使用招來觀察這個網址: http://opencaselist.paperlessdebate.com/bin/AllDocs?view=attachments#format=json?|t=allattachments&p=1&l=10&s=filename&d=asc獲取JSON字符串的HTTP GET請求

我找到這樣 enter image description here

我如何得到這個響應轉換成字符串,我可以節省一筆可觀的JSON響應在一個txt文件中使用C#?有沒有辦法將HTTP Web Response轉換爲字符串?有什麼可以幫助我的NewtonSoft JSON?有沒有特別的條款可以幫助我更有效地谷歌?

每次我嘗試我只是在鏈接獲取網頁的HTML版本,而不是JSON數據,我試圖讓:

string url = "http://opencaselist.paperlessdebate.com/bin/AllDocs?view=attachments#|t=allattachments&p=1&l=10&s=filename&d=asc"; 

    HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url); 
    httpWebRequest.Method = WebRequestMethods.Http.Get; 
    httpWebRequest.Accept = "text/json"; 
    httpWebRequest = (HttpWebRequest)WebRequest.Create(url); 
    HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse(); 
    response.Close(); 
+0

看看這個鏈接http://stackoverflow.com/questions/2108297/how-to-get-json-response-using-system-net-webrequest-in-c – Goose

回答

4

注意,在該截圖,有一些差異:

  • 的URL是不同的方法:AllAttachements VS AllDocs,但這是次要的,我指出它「以防萬一」
  • 的PARAMS的方式不同:截圖指定xpage=plain&outputSyntax=plain一第二你的代碼 - 而不是
  • 標題是不同的:你的代碼有Accept=text\json而截圖有Accept: text/javascript

您是否嘗試過使用相同 PARAMS和頭?

編輯:另外,我已經從你的代碼打開了頁面,它實際上是一個頁面。加載後,它生成額外的請求,以

http://opencaselist.paperlessdebate.com/bin/get/XWiki/AllAttachmentsResults?xpage=plain&outputSyntax=plain&offset=1&limit=10&reqNo=1&sort=filename&dir=asc 

其中,如果你下載,結果在JSON數據。根本沒有標題,簡單的GET。我剛剛通過將該URL粘貼到Chrome中獲得了JSON數據..我認爲你只是使用了錯誤的URL。

+0

好的偵探工作! –

+0

哦。這很有道理 - 我只是假設URL提琴手使用的是我在Chrome中看到的URL。你如何很快地發現我的錯誤超出了我的想象。我敬畏。 – pavja2

+1

Fiddler向您顯示所有請求,包括AJAX請求,其網址在Chrome的地址欄中從不顯示。 – EricLaw