0410-AsyncHttpClient的简单使用

本文详细介绍AsyncHttpClient库在Android开发中的应用,包括其特点、优势及如何进行GET/POST请求等实用技巧。
一、什么是AsyncHttpClient?

Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用android-async-http这个库可以大大的简化操作,它是基于Apache’s HttpClient ,所有的请求都是独立在UI主线程之外,通过回调方法处理请求结果,采用android Handler message 机制传递信息。

二、AsyncHttpClient的特性:

(1)采用异步http请求,并通过匿名内部类处理回调结果
(2)http请求独立在UI主线程之外
(3)采用线程池来处理并发请求
(4)采用RequestParams类创建GET/POST参数
(5)不需要第三方包即可支持Multipart file文件上传
(6)大小只有25kb
(7)自动为各种移动电话处理连接断开时请求重连
(8)超快的自动gzip响应解码支持
(9)使用BinaryHttpResponseHandler类下载二进制文件(如图片)
(10) 使用JsonHttpResponseHandler类可以自动将响应结果解析为json格式
(11)持久化cookie存储,可以将cookie保存到你的应用程序的SharedPreferences中

三、AsyncHttpClient的简单使用:

首先,在dependencies 下添加依赖:

dependencies {
  compile 'com.loopj.android:android-async-http:1.4.9'
}

1.不带参数使用get请求:
写一个HttpUtil类把这个方法封装起来:

AsyncHttpClient asyncHttpClient = new SyncHttpClient();
asyncHttpClient.get(BASE_URL, AsyncHttpClientRespenseHandler);

这样就完成了Get请求,BASE_URL是地址,AsyncHttpClientRespenseHandler是请求回调。

new AsyncHttpClientRespenseHandler() {

                                                       @Override
    public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
        //请求成功
    }

    @Override
    public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
         //请求失败
    }
  }

2.带参数的get请求:
请求一个接口,在HttpUtil类中代码如下:
在一个程序中可能会遇到不同的接口,在这里,我们只需要将接口地址相同的部分封装起来,在请求的时候,将需要使用的对应的地址拼接即可;

public class HttpUtil {
    private static final String BASE_URL="http://103.244.59.105:8014/paopaoserver/";//接口相同地址
    private static AsyncHttpClient client=new AsyncHttpClient();
    public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler){
        client.get(getAbsoluteUrl(url),params,responseHandler);
    }
    private static String getAbsoluteUrl(String relation){
        return  BASE_URL+relation;
    }
}

在调用此方法请求数据出的代码如下:

     RequestParams params=new RequestParams();
     params.put("params","{\"page\":1,\"page_count\":10}");//需要请求数据的地址

                HttpUtil.get("articles", params, new TextHttpResponseHandler() {
                    @Override
                    public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
                        Toast.makeText(Main3Activity.this, "fail", Toast.LENGTH_SHORT).show();
                    }

                    @Override
                    public void onSuccess(int statusCode, Header[] headers, String responseString) {
                        Toast.makeText(Main3Activity.this, responseString, Toast.LENGTH_SHORT).show();
                    }
                });

RequestParams是我们写进去的参数。
RequestParams的用法:

       RequestParams requestParams=new RequestParams();
       requestParams.put("key", what);

这里是以键值对的方式存进去的。

3.不带参数的Post请求:

public class HttpUtil {
    private static final String BASE_URL="https://www.baidu.com/";
    private static AsyncHttpClient client=new AsyncHttpClient();
private static void post(MyHttpClientRespenseHandler myHttpClientRespenseHandler) {
        client.setTimeout(20000);
        client.post(BASE_URL, myHttpClientRespenseHandler);
    }
}

4.带参数的Post请求:
使用方法与带参数的get请求方式相同


public class HttpUtil {
    private static final String BASE_URL="http://103.244.59.105:8014/paopaoserver/";
    private static AsyncHttpClient client=new AsyncHttpClient();
    public static void post(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
        client.post(getAbsoluteUrl(url), params, responseHandler);
    }

    private static String getAbsoluteUrl(String relation){
        return  BASE_URL+relation;
    }
}

使用post方法请求数据的代码如下:

RequestParams params=new RequestParams();
 params.put("params","{\"page\":1,\"page_count\":10}");
HttpUtil.post("articles", params, new TextHttpResponseHandler() {
                    @Override
                    public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {

                    }

                    @Override
                    public void onSuccess(int statusCode, Header[] headers, String responseString) {
                        Toast.makeText(Main3Activity.this, responseString, Toast.LENGTH_SHORT).show();
                    }
                });

使用Post请求还是get请求要根据API接口文档的要求而定

5.使用JSON来请求数据方法:
在一个程序中可能会用到JSON来请求数据,使用方法代码如下:
首先,还是先封装:

public class HttpUtil {

    public static final String BASE_URL ="http://192.168.1.100:8890/type/jason/action/" ;
    private static AsyncHttpClient client=new AsyncHttpClient();
    public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler){
        client.get(getAbsoluteUrl(url),params,responseHandler);
    }
    public  static  void  post(Context context, String url, HttpEntity entity, String contentType, AsyncHttpResponseHandler responseHandler){
        client.post(context,url,entity, contentType,responseHandler);
    }

    private static String getAbsoluteUrl(String relation){
        return  BASE_URL+relation;
    }

}

请求数据的时候调用此方法:
首先定义一个JSONObject 对象放入需要解析的JSON键、值对
一个ByteArrayEntity对象,定义类型

 JSONObject object=new JSONObject();
        try {
            object.put("Blower",0);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        ByteArrayEntity entity=null;
        try {
            entity=new ByteArrayEntity(object.toString().getBytes("UTF-8"));
            entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));

        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        HttpUtil.post(mcontext, url+"control", entity, "application/json", new TextHttpResponseHandler() {
            @Override
            public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {

            }

            @Override
            public void onSuccess(int statusCode, Header[] headers, String responseString) {
                number=0;
            }
        });
2025/07/08 18:34:21 [notice] 14#14: using the "epoll" event method 2025/07/08 18:34:21 [notice] 14#14: nginx/1.29.0 2025/07/08 18:34:21 [notice] 14#14: built by gcc 12.2.0 (Debian 12.2.0-14+deb12u1) 2025/07/08 18:34:21 [notice] 14#14: OS: Linux 3.10.0-1160.119.1.el7.x86_64 2025/07/08 18:34:21 [notice] 14#14: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2025/07/08 18:34:21 [notice] 14#14: start worker processes 2025/07/08 18:34:21 [notice] 14#14: start worker process 15 2025/07/08 18:34:21 [notice] 14#14: start worker process 16 2025/07/08 18:34:21 [notice] 14#14: start worker process 17 2025/07/08 18:34:21 [notice] 14#14: start worker process 18 2025/07/08 18:34:21 [notice] 14#14: start worker process 19 2025/07/08 18:34:21 [notice] 14#14: start worker process 20 2025/07/08 18:34:21 [notice] 14#14: start worker process 21 2025/07/08 18:34:21 [notice] 14#14: start worker process 22 172.20.0.1 - - [08/Jul/2025:18:37:18 +0800] "GET /alive.php HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" "159.89.51.93" 172.20.0.1 - - [08/Jul/2025:18:37:27 +0800] "GET / HTTP/1.1" 200 615 "-" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 10.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)" "159.89.51.93" 172.20.0.1 - - [08/Jul/2025:18:37:28 +0800] "GET /teorema505?t=1 HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" "159.89.51.93" 172.20.0.1 - - [08/Jul/2025:18:40:51 +0800] "GET / HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36" "34.228.40.252" 172.20.0.1 - - [08/Jul/2025:20:04:32 +0800] "GET / HTTP/1.1" 200 615 "http://183.3.206.9:80" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1" "43.133.66.51" 172.20.0.1 - - [08/Jul/2025:20:26:22 +0800] "GET /.env HTTP/1.1" 200 615 "-" "Mozlila/5.0 (Linux; Android 7.0; SM-G892A Bulid/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Moblie Safari/537.36" "167.172.94.255" 172.20.0.1 - - [08/Jul/2025:20:49:59 +0800] "POST /hello.world?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1" 405 157 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:00 +0800] "GET /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:01 +0800] "GET /vendor/phpunit/phpunit/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:02 +0800] "GET /vendor/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:03 +0800] "GET /vendor/phpunit/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:04 +0800] "GET /vendor/phpunit/phpunit/LICENSE/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:05 +0800] "GET /vendor/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:06 +0800] "GET /phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:07 +0800] "GET /phpunit/phpunit/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:08 +0800] "GET /phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:09 +0800] "GET /phpunit/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:10 +0800] "GET /lib/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:11 +0800] "GET /lib/phpunit/phpunit/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:12 +0800] "GET /lib/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:13 +0800] "GET /lib/phpunit/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:15 +0800] "GET /lib/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:15 +0800] "GET /laravel/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:16 +0800] "GET /www/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:17 +0800] "POST / HTTP/1.1" 405 559 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "103.106.105.251" 172.20.0.1 - - [08/Jul/2025:20:50:18 +0800] "GET /.env HTTP/1.1" 200 615 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "103.106.105.251" 172.20.0.1 - - [08/Jul/2025:20:50:20 +0800] "GET /ws/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:20 +0800] "GET /.env.bak HTTP/1.1" 200 615 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "103.106.105.251" 172.20.0.1 - - [08/Jul/2025:20:50:21 +0800] "GET /yii/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:23 +0800] "GET /core/.env HTTP/1.1" 200 615 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "103.106.105.251" 172.20.0.1 - - [08/Jul/2025:20:50:23 +0800] "GET /zend/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:24 +0800] "GET /public/.env HTTP/1.1" 200 615 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "103.106.105.251" 172.20.0.1 - - [08/Jul/2025:20:50:24 +0800] "GET /ws/ec/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:26 +0800] "GET /V2/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:27 +0800] "GET /tests/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:29 +0800] "GET /test/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:30 +0800] "GET /testing/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:32 +0800] "GET /api/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:33 +0800] "GET /demo/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:35 +0800] "GET /cms/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:36 +0800] "GET /crm/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:38 +0800] "GET /admin/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:38 +0800] "GET /backup/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:39 +0800] "GET /blog/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:40 +0800] "GET /workspace/drupal/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:41 +0800] "GET /panel/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:42 +0800] "GET /public/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:43 +0800] "GET /apps/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:45 +0800] "GET /index.php?s=/index/\x5Cthink\x5Capp/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=Hello HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:47 +0800] "GET /public/index.php?s=/index/\x5Cthink\x5Capp/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=Hello HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:48 +0800] "GET /index.php?lang=../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/&/<?echo(md5(\x22hi\x22));?>+/tmp/index1.php HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:50 +0800] "GET /index.php?lang=../../../../../../../../tmp/index1 HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:50:51 +0800] "GET /containers/json HTTP/1.1" 200 615 "-" "Custom-AsyncHttpClient" "8.218.68.235" 172.20.0.1 - - [08/Jul/2025:20:56:20 +0800] "GET / HTTP/1.1" 200 615 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" "159.223.1.160" 172.20.0.1 - - [08/Jul/2025:20:56:26 +0800] "GET /favicon.ico HTTP/1.1" 200 4286 "https://183.3.206.9/" "Mozilla/5.0 (X11; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" "159.223.1.160" 172.20.0.1 - - [08/Jul/2025:20:58:31 +0800] "GET /appsettings.json HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 14.3) AppleWebKit/616.20.13 (KHTML, like Gecko) Version/17.7.74 Safari/616.20.13" "194.50.16.252" 172.20.0.1 - - [08/Jul/2025:20:58:32 +0800] "GET /appsettings.Production.json HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15" "194.50.16.252" 172.20.0.1 - - [08/Jul/2025:21:00:41 +0800] "GET / HTTP/1.1" 200 615 "http://183.3.206.9" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1" "43.156.202.34" 172.20.0.1 - - [08/Jul/2025:21:34:29 +0800] "GET / HTTP/1.1" 200 615 "-" "libcurl-agent/7.19.0" "36.111.168.190" 172.20.0.1 - - [08/Jul/2025:22:01:20 +0800] "GET / HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0" "183.31.26.105" 172.20.0.1 - - [08/Jul/2025:22:01:20 +0800] "GET /favicon.ico HTTP/1.1" 200 4286 "https://test.sanjingling.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0" "183.31.26.105" 172.20.0.1 - - [08/Jul/2025:22:04:54 +0800] "GET / HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36" "162.128.39.250" 172.20.0.1 - - [08/Jul/2025:22:06:43 +0800] "GET /assets/header-MoI1THJb.jpg HTTP/1.1" 200 615 "https://test.sanjingling.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36" "116.7.97.105" 172.20.0.1 - - [08/Jul/2025:22:06:43 +0800] "GET /assets/Login-CbV1i0kj.js HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36" "116.7.97.105" 172.20.0.1 - - [08/Jul/2025:22:06:43 +0800] "GET / HTTP/1.1" 200 615 "https://test.sanjingling.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36" "116.7.97.105" 172.20.0.1 - - [08/Jul/2025:22:06:43 +0800] "GET /favicon.ico HTTP/1.1" 200 4286 "https://test.sanjingling.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36" "116.7.97.105" 172.20.0.1 - - [08/Jul/2025:22:08:10 +0800] "GET /appsettings.json HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Ubuntu; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" "194.50.16.252" 172.20.0.1 - - [08/Jul/2025:22:08:13 +0800] "GET /appsettings.Production.json HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0" "194.50.16.252" 172.20.0.1 - - [08/Jul/2025:22:09:31 +0800] "GET / HTTP/1.1" 200 615 "http://test.sanjingling.com" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1" "49.51.72.76" 172.20.0.1 - - [08/Jul/2025:22:12:05 +0800] "GET /locales/zh/translation.json HTTP/1.1" 200 615 "https://test.sanjingling.com/portainer/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" "113.132.182.228" 172.20.0.1 - - [08/Jul/2025:22:12:05 +0800] "GET /locales/zh-CN/translation.json HTTP/1.1" 200 615 "https://test.sanjingling.com/portainer/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" "113.132.182.228" 172.20.0.1 - - [08/Jul/2025:22:12:05 +0800] "GET /locales/en/translation.json HTTP/1.1" 200 615 "https://test.sanjingling.com/portainer/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" "113.132.182.228" 172.20.0.1 - - [08/Jul/2025:22:12:21 +0800] "GET / HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" "113.132.182.228" 172.20.0.1 - - [08/Jul/2025:22:12:21 +0800] "GET /favicon.ico HTTP/1.1" 200 4286 "https://test.sanjingling.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" "113.132.182.228" 172.20.0.1 - - [08/Jul/2025:22:15:13 +0800] "GET / HTTP/1.1" 200 615 "-" "-" "185.12.59.118"
最新发布
07-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值