我有几个特殊的字符url我必须连接到Jsoup.connect(字符串),但它无法加载页面(得到错误500)。 我不是那么多的URL,但我认为它与JSoup.connect使用的编码有关

无论如何,我将如何继续以允许链接具有特殊字符,如:ÆØÅè等,我得到的例外是:

java.io.IOException: 500 error loading URL https://maps.googleapis.com/maps/api/place/textsearch/xml?query=Averøy%20restaurant%20og%20Pizzeria,%20Norge&sensor=false&key=xx&radius=10
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:414)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:391)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:157)
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:146)
at HTMLParser.doParsing(HTMLParser.java:122)
at HTMLParser.initParser(HTMLParser.java:50)
at Main.main(Main.java:15)

产生此错误的代码是:

Document gDoc = Jsoup.connect(placesURL).get();

placesURL字符串的位置是:

https://maps.googleapis.com/maps/api/place/textsearch/xml?query=%s&sensor=false&key=XX&radius=10

任何人有任何想法绕过这个?

谢谢!

#1楼 票数:6 已采纳

遇到URL编码问题,我建议您先使用URL编码器工具解析您的请求( StackOverflow回答这些问题 )。 一个已经附带Java。

URLEncoder.encode(stringToBeEncoded, "UTF-8") 

在上面未格式化的字符串上使用它,它应该类似于:

Document gDoc = JSoup.connect(placesURL.format(URLEncoder.encode(queryString, "UTF-8"));

...至于不对您的整个URL进行URL编码,只需要您需要符合UTF-8(或UTF-16)的查询部分。

#2楼 票数:4

我是多么愚蠢,而不是只编码查询字符串,我编码整个URL ..

解决这样做:

String placesUrl = String.format("https://maps.googleapis.com/maps/api/place/textsearch/xml?query=%s&sensor=false&key=XX&radius=10",URLEncoder.encode(restaurantListe[i][0],"UTF-8"));

谢谢您的帮助!

  ask by user1677631 translate from so

未解决问题?本站智能推荐:

2回复

jsoup.connect / jsoup.parse的进展

我在我的Android应用程序中使用Jsoup来解析网页中的数据。我想显示进度 要么 怎么做? 是否有像webview一样更改进度时自动调用的方法。 请告诉我如何完成任务的想法。
2回复

“ Jsoup.connect(String url)”到底是什么?

我的意思是; “ Jsoup” -static-class中的connect(String url)方法是否在其“源代码”中包含对本地Http客户端(如HttpURLConnection的调用? 还是完全是自己的事情? 如果是后者,在Android环境中使用它是否明智? 因为在这种情况下
1回复

Jsoup.connect()使用Java而不是Android

我已经尝试了Jsoup.connect()网站上给出的Jsoup.connect()示例,它在Java中运行良好。 出于某种原因,即使我在AndroidManifest允许Internet访问权限,我也无法在Android项目(Eclipse)中使用它。 Jsoup库已正确安装,我可以使
2回复

使用 Jsoup.connect() 时会发生什么? 为什么这么慢?

我正在使用以下行加载文档 我只需要图像的 src。 所以我只需要加载纯 html 文本。 线路是否因为从 URL 加载图像而变慢? 我的意思是 Jsoup.connect() 是否等待整个页面与图像一起加载?
2回复

为什么我的jsoup.connect(url)无法使用某些URL?

我正在尝试从http://tv.atmovies.com.tw/tv/attv.cfm?action=channeltime&channel_id=CH06获取标题 这是我的源代码的一部分: 当我尝试从www.yahoo.com获取标题时,此代码可以工作。 但是它不能与h
1回复

jsoup.connect()。get()返回缓存的文档吗?

我使用jsoup和以下代码来获取网站的HTML内容Document doc = Jsoup.connect(this.getUrl()).get(); 。 我可以获得网站的缓存版本吗? 是否可以请求非缓存版本? 我知道我可以设置标题请求。 就像是: 但我不确定是否可行。
2回复

Jsoup.connect()中的OutOfMemoryError.get()

尝试使用Android上的Jsoup连接到某些站点,并抛出java.lang.OutOfMemoryError异常。 例: 可以做些什么来避免这个问题? Jsoup 1.7.1
1回复

jsoup.connect和jsoup.parse有什么区别?

jsoup.connect和jsoup.parse什么jsoup.parse ? 似乎两者都完成了相同的工作Jsoup.connect(URL); 和Jsoup.parse(Html); 。