【发布时间】:2017-07-19 05:42:27
【问题描述】:
我在网上搜索过,但找不到任何帮助。
我有一个类似这样的 URL
String url = "http://www.rightmove.co.uk/property-for-sale/find.html?searchType=SALE&locationIdentifier=REGION%5E904&insId=3&radius=10.0&minPrice=&maxPrice=500000&minBedrooms=&maxBedrooms=&displayPropertyType=&maxDaysSinceAdded=&_includeSSTC=on&sortByPriceDescending=&primaryDisplayPropertyType=&secondaryDisplayPropertyType=&oldDisplayPropertyType=&oldPrimaryDisplayPropertyType=&newHome=&auction=false"
我曾尝试使用URLencoder.encode(url,"UTF-8"),但没有奏效。有什么想法吗??
我正在使用以下 jsoup 连接来尝试抓取网页。
Document doc = Jsoup.connect(url).userAgent("Mozilla/5.0 "
+ "(Windows NT 6.1)"
+ "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 "
+ "Safari/537.36").timeout(14000).followRedirects(false).
ignoreContentType(true).get();
任何帮助将不胜感激!
【问题讨论】:
-
“那没用” > 怎么回事?
-
它给了我 >> org.jsoup.HttpStatusException:获取 URL 的 HTTP 错误。状态=400,我尝试了 https,我尝试缩短字符串并尝试将其粘贴到没有历史记录的浏览器窗口中
-
URL 已经被 urlencoded(
REGION%5E904是REGION^904)。也许您可以尝试使用非编码形式。如果JSoup对您提供给他的 URL 进行编码可以解释问题,因为它会从REGION%5E904生成REGION%255E904 -
URLencoder.encode没有给你HttpStatusException。编程中的问题解决需要精确。将程序分解成可测试的部分。连接前输出网址,看看是否符合预期。 -
使用在线解码器解码后的URL是rightmove.co.uk/property-for-sale/… ^ 904&insId = 3&半径= 10.0&minPrice =&maxPrice = 500000&minBedrooms =&maxBedrooms =&displayPropertyType =&maxDaysSinceAdded =&_ includeSSTC = ON&sortByPriceDescending =&primaryDisplayPropertyType =&secondaryDisplayPropertyType =&oldDisplayPropertyType =&oldPrimaryDisplayPropertyType =&newhome上=&auction=false