2012-11-05 28 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

完美的,不要忘了接受的答案,如果它有助于解决问题 –