Java的异步HTTP客户端

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (90)

例子是一个简单的异步http请求解决方案。我应该创建自己的线程使用阻塞类型库像httpclient或内置的Java HTTP的东西吗?

我正在寻找的东西很容易从开发人员的角度来看 - 类似于AS3中的URLLoader - 你只需创建一个URLRequest - 附加一堆事件处理程序来处理完成,错误,进度等,然后调用一种方法来删除它。

如果你不熟悉AS3中的URLLoader,那么它非常容易,像这样:

private void getURL(String url)
{
    URLLoader loader = new URLLoader();
    loader.addEventListener(Event.Complete, completeHandler);
    loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
    loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

    URLRequest request = new URLRequest(url);

    // fire it off - this is asynchronous so we handle
    // completion with event handlers
    loader.load(request);
}

private void completeHandler(Event event)
{
    URLLoader loader = (URLLoader)event.target;
    Object results = loader.data;

    // process results
}

private void httpStatusHandler(Event event)
{
    // check status code
}

private void ioErrorHandler(Event event)
{
    // handle errors
}
提问于

扫码关注云+社区

领取腾讯云代金券