在java中进行页面解析时HTTP中出现错误503
今天,我正在开发一个JavaRMI服务器(以及客户端),它从页面获取信息并返回我想要的内容。我把密码放在这里了。问题是,有时我传递给该方法的url会抛出一个IOException,表示给定的url会产生503HTTP错误。如果总是这样的话,这可能很容易,但问题是它有时会出现。 我有这种方法结构,因为我解析的页面来自一家气象公司,我需要来自许多城市的信息,而不仅仅是一个城市的信息,所以一些城市一有机会就可以完美地工作,而另一些城市则失败了。有什么建议吗在java中进行页面解析时HTTP中出现错误503,java,url,ioexception,Java,Url,Ioexception,今天,我正在开发一个JavaRMI服务器(以及客户端),它从页面获取信息并返回我想要的内容。我把密码放在这里了。问题是,有时我传递给该方法的url会抛出一个IOException,表示给定的url会产生503HTTP错误。如果总是这样的话,这可能很容易,但问题是它有时会出现。 我有这种方法结构,因为我解析的页面来自一家气象公司,我需要来自许多城市的信息,而不仅仅是一个城市的信息,所以一些城市一有机会就可以完美地工作,而另一些城市则失败了。有什么建议吗 public ArrayList<Me
public ArrayList<Medidas> parse(String url){
medidas = new ArrayList<Medidas>();
int v=0;
String sourceLine;
String content = "";
try{
// The URL address of the page to open.
URL address = new URL(url);
// Open the address and create a BufferedReader with the source code.
InputStreamReader pageInput = new InputStreamReader(address.openStream());
BufferedReader source = new BufferedReader(pageInput);
// Append each new HTML line into one string. Add a tab character.
while ((sourceLine = source.readLine()) != null){
if(sourceLine.contains("<tbody>")) v=1;
else if (sourceLine.contains("</tbody>"))
break;
else if(v==1)
content += sourceLine + "\n";
}
........................
........................ NOW THE PARSING CODE, NOT IMPORTANT
}
publicArrayList解析(字符串url){
medidas=新阵列列表();
int v=0;
字符串源线;
字符串内容=”;
试一试{
//要打开的页面的URL地址。
URL地址=新的URL(URL);
//打开地址并用源代码创建一个BufferedReader。
InputStreamReader pageInput=新的InputStreamReader(address.openStream());
BufferedReader source=新的BufferedReader(页面输入);
//将每个新的HTML行追加到一个字符串中。添加一个制表符。
而((sourceLine=source.readLine())!=null){
如果(sourceLine.contains(“”)v=1;
else if(sourceLine.contains(“”)
打破
else如果(v==1)
内容+=源代码行+“\n”;
}
........................
现在,解析代码并不重要
}
HTTP 500错误反映服务器错误,因此可能与客户端代码无关。 如果在请求中传递无效参数,则会出现400错误 503是“服务不可用”的,当服务器过载且无法处理您的请求时,可能会由服务器发送。从可公开访问的服务器发送,这可以解释不稳定的行为 编辑 当您检测到503错误时,在代码中构建一个重试处理程序。Apache可以自动为您这样做
我认为这不是因为它有时有效,而其他情况下无效。页面大约有55000个字符,因此我认为这不是问题所在。您如何将
字符串url
传递给该方法?请提供示例url。哪一行引发IOException?url是静态url,在citi之间仅更改4或5个字符es.异常的一个例子是“java.io.IOException:服务器返回HTTP响应代码:503 for URL:“其中1442U字符串是如果存在一个或另一个CityOne,会发生什么变化,这不是我的错。今天一切正常,我想页面服务器已修复。谢谢