我一直在使用以下函数来获取和解析URL。
public static void getPage(String url_string, String page)
{
try
{
URL url = new URL(url_string);
System.out.println(url.getPort() + " " + url.getDefaultPort());
URLConnection conn = url.openConnection();
BufferedReader br =
new BufferedReader(new InputStreamReader(conn.getInputStream()));
BufferedWriter bw = new BufferedWriter(new FileWriter(page));
String line = "";
while((line = br.readLine()) != null)
{
bw.write(line + "\n");
}
bw.close();
br.close();
System.out.println("Page fetched in "+page);
}
catch(Exception e)
{
System.out.println("\nError while fetching the page - ");
e.printStackTrace();
}
}
我称之为 -
getPage("http://google.com", "tmp.html");
我可以获取任何类型的网址但无法获取此特定网址。
http://www.toysrus.com/storefrontsearch/stores.jsp?skuId=13112916&quantity=1&postalCode=79414&productId=13066123&searchRadius=10000
虽然我们可以在Firefox和Chrome上看到此页面。它也没有出现在这里:
http://www.rexswain.com/httpview.html
答案 0 :(得分:0)
http://google.com
发送HTTP 302状态代码,这意味着该位置不可用(暂时)。但是您在标题数据中收到了一个新位置。
您可以解析答案标题并从字段location
获取新网址。尝试打开这个新网址。
您应该始终检查HTTP请求的标头数据。
答案 1 :(得分:0)
与drkunibar类似,我会说检查标题。您可以在Chrome和Firefox中执行此操作。在Chrome中,打开工具> developer_tools并切换到网络标签。然后加载网页。通过单击该请求,您可以检查有关它的所有内容。如果你没有看到任何奇怪的东西,那么我会尝试在调试器中检查它。祝你好运!