2012-11-05 26 views
0

我使用下面的代碼:參數傳遞到YQL使用Java

String zip = "75227"; 
String str = "http://query.yahooapis.com/v1/public/yql?q=select%20Title%2C%20Address%2C%20" + 
      "City%2C%20State%2C%20Phone%2C%20Distance%20from%20local.search%20where%20query%3D%22" + 
      "food%20pantries%22%20and%20zip%3D%22" + zip +"%22%20and%20(category%3D%2296927050%22%20or" + 
      "%20category%3D%2296934498%22)%20%7C%20sort(field%3D%22Distance%22)"; 

Document doc = Jsoup.connect(str).get(); 

,它是通過更換郵政編碼值時產生我想要的結果。我也想改變位置。我試圖這樣做,這樣做我郵碼也一樣:

String zip = "32207"; 

String service = "food pantry"; 

String testOne = "http://query.yahooapis.com/v1/public/yql?q=select%20Title%2C%20Address%2C%20" + 
      "City%2C%20State%2C%20Phone%2C%20Distance%20from%20local.search%20where%20query%3D%22" + 
      service + "%22%20and%20zip%3D%22" + zip +"%22%20and%20(category%3D%2296927050%22%20or" + 
      "%20category%3D%2296934498%22)%20%7C%20sort(field%3D%22Distance%22)"; 

當以這種方式使用的變量「服務」給了我一個錯誤。

我最初嘗試使用YQL表是這樣的:

String search = "http://query.yahooapis.com/v1/public/yql?q="; 
String table = "select Title, Address, City, State, Phone, Distance from local.search where " + 
      "query=\"food pantries\" and zip=\"75227\" and (category=\"96927050\" or category=" + 
      "\"96934498\") | sort(field=\"Distance\")"; 

String searchText = search + table; 

UPDATE:

這裏是我得到的錯誤:

Exception in thread "main" org.jsoup.HttpStatusException: HTTP error fetching URL. Status=505, URL=http://query.yahooapis.com/v1/public/yql?q=select%20Title%2C%20Address%2C%20City%2C%20State%2C%20Phone%2C%20Distance%20from%20local.search%20where%20query%3D%22food pantry%22%20and%20zip%3D%2232207%22%20and%20(category%3D%2296927050%22%20or%20category%3D%2296934498%22)%20%7C%20sort(field%3D%22Distance%22) 
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:418) 
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:393) 
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:159) 
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:148) 
at org.jsoup.examples.HtmlToPlainText.main(HtmlToPlainText.java:86) 

然而,這並不能工作。關於如何執行此搜索並提供服務和郵政編碼作爲變量的任何想法?

+0

什麼錯誤? – harshit

+0

Harshit,我已經更新顯示我正在錯誤的帖子。 – Richard

回答

0

你有沒有試着用String service = "food%20pantry";更換String service = "food pantry";

編輯:

,這是「食品儲藏室」或「食物餐具室」 ......?

+0

它工作時,我加入了「20%」的字符串。表單並不重要,如果它是複數或單數,我會得到相同的結果。 – Richard

+0

完美的,不要忘了接受的答案,如果它有助於解決問題 –