请选择
Edge Acceleration
  • Site Acceleration
    • Overview
    • Access Control
      • Token Authentication
    • File Optimization
      • Smart Compression
    • Network Optimization
      • HTTP/2
      • HTTP/3(QUIC)
        • Overview
        • Enable HTTP/3
        • QUIC SDK
          • SDK Overview
          • SDK Download and Integration
          • Sample Code
            • Android
            • iOS
          • API Documentation
            • Android
            • iOS
      • IPv6 Access
      • Maximum Upload Size
      • WebSocket
      • Client IP Geolocation Header
      • Client IP Geographical Location
      • gRPC
    • URL Rewrite
      • Access URL Redirection
      • Origin-Pull URL Rewrite
    • Modifying Header
      • Modifying HTTP Response Headers
      • Modifying HTTP Request Headers
    • Custom Error Page
    • Request and Response Actions
      • Processing order
      • Default HTTP Headers of Origin-Pull Requests
      • Default HTTP Response Headers
  • Smart Acceleration
  • L4 Proxy
    • Overview
    • Creating an L4 Proxy Instance
    • Modifying an L4 Proxy Instance
    • Disabling or Deleting an L4 Proxy Instance
    • Batch Configuring Forwarding Rules
    • Obtaining Real Client IPs
      • Obtaining Real TCP Client IPs via TOA
      • Obtaining Real Client IPs Through Protocol V1/V2
        • Overview
        • Method 1: Obtaining Real Client IPs Through Nginx
        • Method 2: Parsing Real Client IPs on Application Server
        • Format of Real Client IPs Obtained Through Proxy Protocol V1/V2
      • Transmitting Client Real IP via SPP Protocol
  • Edge DNS
    • Hosting DNS Records
      • Modifying DNS Servers
      • Configuring DNS Records
      • Advanced DNS Configuration
    • Domain Connection
      • Adding A Domain Name for Acceleration
      • Ownership Verification
      • Modifying CNAME Records
    • Domain alias
      • Overview
      • Configuration Guide
      • Batch Connecting SaaS Domain Names
      • Configuring Alias Domain Names for Disaster Recovery
    • Traffic Scheduling
      • Traffic Scheduling Management
    • Origin Configuration
      • Load Balancing
        • Overview
        • Quickly Create Load Balancers
        • Health Check Policies
        • Viewing the Health Status of Origin Server
        • Related References
          • Load Balancing-Related Concepts
          • Introduction to Request Retry Strategy
      • Origin Group Configuration
      • Origin-pull configuration
        • Configuring Origin-Pull HTTPS
        • Host Header Rewrite
        • Controlling Origin-pull Requests
        • Redirect Following During Origin-Pull
        • HTTP/2 Origin-Pull
        • Range GETs
      • Related References
        • ld Version Origin Group Compatible Related Issues
        • VOD Origin Server Details
      • Collect EdgeOne origin-pull node IP
  • Edge Cache
    • Overview
    • EdgeOne Cache Rules
      • Content Cache Rules
      • Cache Key Introduction
      • Vary Feature
    • Cache Configuration
      • Custom Cache Key
      • Node Cache TTL
      • Status Code Cache TTL
      • Browser Cache TTL
      • Offline Caching
      • Cache Prefresh
    • Clear and Preheat Cach
      • Cache Purge
      • URL Pre-Warming
    • How to improve the Cache Hit Rate of EdgeOne
  • Rules Engine
    • Overview
    • Supported Matching Types and Actions
    • Rule Management
    • variables
  • Image Processing

Android

The following code shows how to make QUIC requests with the Android client. For details of the API description, see Android APIs.

Creating GET Requests

//Create QuicClient and initialize QUIC configuration. It is recommended to use QuicClient as a global variable. For more information about the API, see %!s(<nil>).
QuicClient quicClient = new QuicClient.Builder()
.setCongestionType(QuicClient.CONGESTION_TYPE_BBR) //Use BBR algorithm.
.setConnectTimeoutMillis(6 * 1000) //Configure connection timeout.
.build();
//Create QuicRequest and specify the request URL.
String url="";
QuicRequest request = new QuicRequest.Builder(url).get().build();

//Execute the request asynchronously and get the result. See %!s(<nil>) for instructions.
quicClient.newCall(request).enqueue(new QuicCallback() {
@Override
public void onResponse(QuicCall call, QuicResponse response) throws IOException {
//When the request is executed successfully, it returns the response data.
ResponseBody body = response.body();
if(body != null) {
String res = body.string();
}
}
@Override
public void onFailed(QuicCall call, int errorCode, String error) {
//When the request fails to be executed, it returns the error message.
}
});

Creating POST Requests

//Create QuicClient and initialize QUIC configuration. It is recommended to use QuicClient as a global variable. For detailed steps, see %!s(<nil>).
QuicClient quicClient = new QuicClient.Builder()
.setCongestionType(QuicClient.CONGESTION_TYPE_BBR) //Use BBR algorithm.
.setConnectTimeoutMillis(3 * 1000) //Configure connection timeout.
.build();

//Construct body data.
String body="your body string";
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), body);

//Create QuicRequest.
String url="";
QuicRequest request = new QuicRequest.Builder(url).post(requestBody).build();

//Execute the request asynchronously and get the result. See %!s(<nil>) for instructions.
quicClient.newCall(request).enqueue(new QuicCallback() {
@Override
public void onResponse(QuicCall call, QuicResponse response) throws IOException {
//When the request is executed successfully, it returns the response data.
ResponseBody body = response.body();
if(body != null) {
String res = body.string();
}
}
@Override
public void onFailed(QuicCall call, int errorCode, String error) {
//When the request fails to be executed, it returns the error message.
}
});

Canceling Requests

...
//Create QuicCall. See %!s(<nil>) for instructions.
QuicCall quicCall = quicClient.newCall(request);

// Initiate a request.
...

//Cancel the request using the cancel method via QuicCall.
quicCall.cancel();