我試圖在我自己的應用程序中創建tinysong和的Grooveshark之間的相互作用搜索通過ID上tinysong.com
現在我真正想要的是能夠質疑一首歌曲的ID上tinysong,瑟如果它存在與否。
如果您搜索tinysong一首歌,該webadress顯示你的歌是這樣
http://tinysong.com/#/share/aa/25062638
,其中25062638是ID的ID ..
我tryed創建的HttpWebRequest然後刮結果,看看ID是否有效,名稱是什麼,但它的Ajax調用,所以結果不顯示在httpwebrequest ..
我也看着螢火蟲(這不是很好在)和i看到那裏 有一個發佈請求與POSTDATA
答疑5B%5D = 25062638 &答疑5B%5D =搜索&答疑5B%5D至tinysong.com?s=sh = AA
其中第一個是ID第二是靜態的搜索,並且後者是SEARCHTEXT,其中我輸入(AA)
我已經tryed重新創建發佈請求與上述POSTDATA的路徑,但它返回頁腳??!
這是我寫的代碼:
string html = string.Empty;
string requestString = @"http://tinysong.com?s=sh";
HttpWebRequest HttpWReq = (HttpWebRequest)WebRequest.Create(requestString);
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "q%5B%5D=4&q%5B%5D=search&q%5B%5D=aa";
byte[] data = encoding.GetBytes(postData);
HttpWReq.Method = "POST";
HttpWReq.ContentType = "application/x-www-form-urlencoded";
HttpWReq.ContentLength = data.Length;
Stream newStream = HttpWReq.GetRequestStream();
newStream.Write(data, 0, data.Length);
newStream.Close();
// Create the web request
// Get response
using (HttpWebResponse response = HttpWReq.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
// Console application output
html = reader.ReadToEnd();
}
我肯定失去了一些東西,所以任何幫助將appriciated。
謝謝達林,你的權利,這幫助了很多,但我有同樣的問題,如果你看一下HTML包含,它唯一的下半部的一部分的頁面出於某種原因,而不是實際的「歌曲數據」,我想刮... – user1204023 2012-02-11 19:32:58
AHHHHHHHH我只是意識到,有一個HTML部分的JSON響應,也是一個消息部分,有我需要的部分,我只是用obj [「message」]替換了obj [「html」],我得到了我想要的,非常感謝Darin !!!! – user1204023 2012-02-11 19:38:10
@ user1204023,我已經更新了我的回答以反映這一點。如果這篇文章幫助你解決了這個問題,你可以考慮[標記爲答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work),點擊它旁邊的勾號。 – 2012-02-11 21:00:42