在网上找了一段HttpClient的测试代码,如下:
public class HttpClientTest
{
public static void main(String[] args) throws HttpException, IOException
{
// 构造HttpClient的实例
HttpClient httpClient = new HttpClient();
// 创建GET方法的实例
GetMethod getMethod = new GetMethod("http://q.stock.sohu.com/cn/mystock.shtml#");
// 使用系统提供的默认的恢复策略
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
try
{
// 执行getMethod
int statusCode = httpClient.executeMethod(getMethod);
if (statusCode != HttpStatus.SC_OK)
{
System.err.println("Method failed: "
+ getMethod.getStatusLine());
}
// 读取内容
byte[] responseBody = getMethod.getResponseBody();
// 处理内容
System.out.println(new String(responseBody));
} catch (HttpException e)
{
// 发生致命的异常,可能是协议不对或者返回的内容有问题
System.out.println("Please check your provided http address!");
e.printStackTrace();
} catch (IOException e)
{
// 发生网络异常
e.printStackTrace();
} finally
{
// 释放连接
getMethod.releaseConnection();
}
}
}
运行后发现,只能获取HTML标签内容,获取不到网页上的动态数据。
部分内容如下,股票的动态数据获取不到。
股票代码股票名称