Skip to content
HttpAgent
Home
Docs
Workshop
Blog
Furion
Ctrl K
中
Getting Started
1.1 HTTP Remote Request Overview
1.2 Installation & Service Registration
1.3 Using with Claude Code / Codex (llms.txt)
Featured
1.4 Comparison with Other HTTP Client Libraries
1.5 About the Author
1.6 Changelog
v2.2.0
Quick Start
2.1 Getting Website Content
2.2 Sending Request Data
2.3 Form Form Submission (URL Encoding)
2.4 Downloading Network Resources
2.5 Uploading File Resources (OSS)
2.6 HTTP Declarative Requests (Proxy Approach)
Featured
2.7 Request Analysis Tool
Featured
2.8 Adding Authorization Credentials
2.9 Setting Cookie (Simulated/Automatic Login)
2.10 Exception Handling (Exception Suppression)
2.11 Stress and Simulation Testing (Performance Testing)
2.12 Long Polling
2.13 Server-Sent Events Unidirectional Communication
2.14 WebSocket Duplex Communication
2.15 HttpContext Forwarding and Proxying
2.16 WebService Interface Requests (SOAP)
2.17 Sending from a cURL Command
2.18 Sending from JSON
2.19 OData API Requests
2.20 HTTP Request and Response Assertions (Assert)
2.21 JSON Response Deserialization Wrapper
2.22 Automatic Access Token Management
2.23 API Call Quota Limits
2.24 Service Discovery (ServiceDiscovery)
2.25 HttpRemoteResult<TResult> return type
2.26 Official DeepSeek Integration
2.27 Crawling Web Page Content (Crawler)
2.28 httpbin.org Online Testing Service
Request Builder
3.1 HttpRequestBuilder Request Builder
3.2 Creating a Builder Instance
3.3 Setting the Request Address
3.4 Method Naming Conventions
3.5 Setting the Trace Identifier
3.6 Setting the Content Type
3.7 Setting the Content Encoding
3.8 Setting JSON Content
3.9 Setting HTML Content
3.10 Setting XML Content
3.11 Setting Text Content
3.12 Setting Raw raw String Content
3.13 Setting URL-Encoded Form Content
3.14 Setting File Content
3.15 Setting Binary Stream Content
3.16 Setting Request Content (Body)
3.17 Setting MCP/2.0 Message Content
3.18 Setting Multipart Form Content
3.19 Setting Request Headers
3.20 Setting Request Headers to Remove
3.21 Setting the Fragment Identifier
3.22 Setting the Timeout
3.23 Configuring Retry Policies
3.24 Setting Path Segments
3.25 Setting Path Segments to Remove
3.26 Setting Query Parameters (URL Parameters)
3.27 Setting Query Parameters to Remove
3.28 Setting Path Parameters (Template/Configuration Parameters)
3.29 Setting Cookie
3.30 Setting Cookies to Remove
3.31 Setting the HttpClient instance name (multiple base addresses)
3.32 Setting the maximum buffer size for response content
3.33 Setting the HttpClient instance provider
3.34 Adding request content processors
3.35 Adding response content converters
3.36 Enabling HttpClient Pooling Management
3.37 Adding Resources to Release When the Request Ends
3.38 Managing and Releasing Resources
3.39 Setting the operation before adding request content
3.40 Setting the operation before sending the request
3.41 Setting the operation after receiving the response
3.42 Setting the handling when sending the request fails
3.43 Ensuring the request succeeds
3.44 Setting Basic authentication
3.45 Setting Bearer authentication (JWT)
3.46 Setting Digest authentication
3.47 Setting custom authentication
3.48 Disabling HTTP caching
3.49 Setting the request event handler
3.50 Simulating a Browser Environment (Crawler Detection)
3.51 Adding Response Status Code Handlers
3.52 Enabling the Request Analysis Tool
3.53 Setting the Client-Preferred Language and Region
3.54 Setting HttpRequestMessage Properties
3.55 Enabling Standard Request Headers
3.56 Setting the Automatic Host Header
3.57 Configuring the Request Base Address
3.58 Configuring the Referer Referrer Address
3.59 Configuring User-Agent
3.60 Configuring the HTTP Version
3.61 Exception Suppression Mechanism (Silent Handling)
3.62 Removing the Default Content-Type of Content
3.63 Conditional Configuration Builder
3.64 Enabling Assertions
3.65 Configuring Assertion Logic
3.66 Enabling the JSON Response Deserialization Wrapper
3.67 Handling Double Serialization of Response JSON
3.68 Setting an Operation for Building the Final Request URL
3.69 Setting Additional Configuration on Redirect
3.70 Clearing Request Content
3.71 Appending Request Content
3.72 Disabling Automatic Access Token Management
3.73 Setting Custom Data for the Access Token Request
3.74 Removing the Trailing / from the URL
3.75 Setting the Request Interface Quota Key
3.76 Enabling ETag Response Caching
3.77 Setting the SOAP Request Header (WebService)
3.78 Simulating Request Responses and Exceptions (Mock)
3.79 Cloning and Copying
3.80 Setting Custom Data
3.81 Getting the Request Builder or Request Message (Pre-flight Request)
3.82 HttpRequestBuilder Unified Configurator
3.83 Custom HttpRequestBuilder Extension Methods
3.84 Custom Extensions for Other Builders
Multipart Form Builder
4.1 HttpMultipartFormDataBuilder Form Builder
4.2 Creating a Builder Instance
4.3 Setting the Content Boundary
4.4 Keeping the Default Content-Type of the Content
4.5 Adding a Single Form Item
4.6 Adding JSON content
4.7 Adding HTML content
4.8 Adding XML content
4.9 Adding text content
4.10 Adding object content (complex forms / file uploads)
4.11 Adding internet file content
4.12 Adding Base64 string file content
4.13 Adding local path file content (progress)
4.14 Adding Stream content
4.15 Adding byte array content
4.16 Adding MultipartFile content
4.17 Adding IFormFile and IFormFileCollection content
4.18 Adding IBrowserFile and IEnumerable<IBrowserFile> content
4.19 Adding FileInfo content
4.20 Adding URL-encoded form content
4.21 Adding multipart form content
4.22 Adding HttpContent content
4.23 Setting the Operation Before Adding Form Item Content
4.24 Setting the Form Name Policy (Transformer)
4.25 Setting the Sort Rule for Multipart Form Content Items
4.26 Adding HttpMultipartFormDataBuilder Extensions
Declarative Requests
5.1 HTTP Declarative Requests
5.2 Interface Definition and Usage
5.3 Defining Request Methods
5.4 Defining Request Addresses
5.5 Synchronous and Asynchronous Methods
5.6 Defining Return Value Types
5.7 Setting Trace Identifier
5.8 Setting Timeout
5.9 Configuring Retry Strategy
5.10 Setting Path Segments
5.11 Setting Query Parameters (URL Parameters)
5.12 Setting Request Headers
5.13 Setting Path Parameters (Template/Configuration Parameters)
5.14 Setting Cookie
5.15 Setting the HttpClient Instance Name (Multiple Base Addresses)
5.16 Setting Request Content (Body)
5.17 Setting Multipart Form Content (Complex Forms / File Upload)
5.18 Disabling HTTP Caching
5.19 Ensuring Request Success
5.20 Simulating a Browser Environment (Crawler Detection)
5.21 Enabling the Request Profiler
5.22 Setting the Client's Preferred Language and Region
5.23 Setting HttpRequestMessage Properties
5.24 Enabling Standard Request Headers
5.25 Setting the Automatic Host Header
5.26 Setting the Request Base Address
5.27 Setting the Referrer Address (Hotlink Protection)
5.28 Configuring the HTTP Version
5.29 Exception Suppression Mechanism (Silent Handling)
5.30 Enabling Parameter Validation
5.31 Enabling the JSON Response Deserialization Wrapper
5.32 Response JSON Double Serialization Handling
5.33 Setting the Request Event Handler
5.34 Disabling Automatic Access Token Management
5.35 Removing the Trailing / from the URL Address
5.36 Setting the Request Interface Quota Key
5.37 Enabling ETag Response Caching
5.38 Inheritance and Reuse
5.39 Frozen Parameter Types
5.40 Getting the Request Builder or Request Message (Pre-flight Request)
5.41 Custom HTTP Declarative Extractor
5.42 Custom HTTP Declarative Extractor (Authorization)
5.43 The HttpDeclarativeBuilder Builder (Dynamic Building)
Advanced Guide
IHttpContentProcessor Content Processor
6.1 IHttpContentProcessor Content Processor
6.2 Built-in Content Processors
6.3 IHttpContentProcessorFactory Content Processor Factory
6.4 Custom Content Processor (e.g. Serialization)
6.5 Adding MessagePack Support
6.6 Adding Protobuf Support
IHttpContentConverter Content Converter
6.7 IHttpContentConverter Content Converter
6.8 Built-in Content Converters
6.9 IHttpContentConverterFactory Content Converter Factory
6.10 IObjectContentConverterFactory Object Content Converter Factory
6.11 Custom Object Content Converter (e.g. Serialization)
6.12 Custom Content Converter
6.13 Custom Generic Content Converter
IHttpRemoteService Service
6.14 IHttpRemoteService Service
6.15 HttpRemoteBuilder Builder
6.16 HttpRemoteOptions Configuration Options
6.17 Unified Configuration of the HttpClient Client
6.18 Built-in Properties and Methods
6.19 Adding IHttpRemoteService Extensions
HttpRemoteResult<TResult> Return Value
6.20 HttpRemoteResult<TResult> Return Value
Downloading Network Resources
6.21 Downloading Network Resources
6.22 The HttpFileDownloadBuilder builder
6.23 File transfer event handler
Uploading file resources
6.24 Uploading file resources
6.25 The HttpFileUploadBuilder Builder
6.26 File Transfer Event Handler
Stress and Simulation Testing
6.27 Stress and Simulation Testing
6.28 HttpStressTestHarnessBuilder Builder
Long Polling
6.29 Long Polling
6.30 HttpLongPollingBuilder Builder
6.31 Long Polling Event Handler
6.32 Terminating a Long Polling Request
Server-Sent Events Unidirectional Communication
6.33 Server-Sent Events Unidirectional Communication
6.34 HttpServerSentEventsBuilder builder
6.35 Server-Sent Events event handler
WebSocket Duplex Communication
6.36 WebSocket Duplex Communication
6.37 The WebSocketClient Client
HttpContext Forwarding and Proxying
6.38 HttpContext Forwarding and Proxying
6.39 The HttpContextForwardBuilder Builder
6.40 HttpContextForwardOptions Configuration Options
6.41 HttpContext Forwarding Extension Methods
6.42 Advantages of HttpContext Forwarding
6.43 Applying HttpContext Forwarding in Microservices
6.44 Notes on Headers Ignored During Forwarding
6.45 The ForwardAttribute Forwarding Attribute
HTTP Request Pipeline Handler
6.46 HTTP Request Pipeline Handler
FTP Client Feature Outlook
6.47 FTP Client Feature Outlook
Canceling HTTP Requests with CancellationToken
6.48 Canceling HTTP Requests with CancellationToken
HttpClient Instance Configuration
6.49 HttpClient Instance Configuration
6.50 Common Property Configuration
6.51 Configuring IHttpClientBuilder
6.52 Configuring SSL Certificates
6.53 Configuring the Proxy Server
6.54 Configuring HTTP/3 Support
6.55 HttpClientOptions Extended Configuration (JSON Serialization)
6.56 Service Resolution Configuration
6.57 Learn More About Configuration
DelegatingHandler Request Processing Delegation (Interception)
6.58 DelegatingHandler Request Processing Delegation (Interception)
6.59 DelegatingHandler Use Cases
6.60 Custom DelegatingHandler
6.61 Implementing Automatic Authorization Token Refresh
HttpClientHandler Underlying Handler for Sending Requests
6.62 HttpClientHandler Underlying Handler for Sending Requests
6.63 Core Features of HttpClientHandler
6.64 Collaboration with DelegatingHandler
6.65 Custom HttpClientHandler
6.66 Best Practices
RateLimitedStream Rate-Limited Stream
6.67 RateLimitedStream Rate-Limited Stream
FileTypeMapper File MIME Type Mapping
6.68 FileTypeMapper File MIME Type Mapping
JwtTokenUtility Parsing JWT Token
6.69 JwtTokenUtility Parsing JWT Token
DigestCredentials Digest Authentication
6.70 DigestCredentials Digest Authentication
HTTP Request Logging (Disabling)
6.71 HTTP Request Logging (Disabling)
Use Cases
7.1 Use Cases
7.2 Using the Dynamic Object Clay to Build and Receive Request Data
7.3 Using in Blazor WebAssembly Applications
7.4 Using in File-Based Apps Applications
7.5 Using in MAUI Applications
FAQ
8.1 FAQ
8.2 Ignoring SSL certificate validation (https errors)
8.3 A sent request hangs or blocks for a long time
8.4 Forcing IPv4 or IPv6 requests
8.5 Handling redirect responses
8.6 Enabling standard request headers
8.7 Setting the default User-Agent
8.8 Sending relative-address (internal) requests
8.9 Getting the Response Cookie
8.10 Configuring Windows Authentication
8.11 Configuring Kerberos and Active Directory Authentication
8.12 Response Content Decompression (Supporting gzip, deflate, brotli and zstd) and Content Encoding Issues
8.13 JSON Serialization Configuration
8.14 Disabling the Distributed Tracing Context (the traceparent Header)
8.15 Setting Content-Type (MIME)
8.16 Using in Non-Dependency-Injection Environments (Console/WinForms/WPF)
8.17 Parallel Requests (Batch Downloads)
8.18 Using LoadIntoBufferAsync to Cache Response Content
8.19 Integrating with APIs Provided by Legacy Java Programs
8.20 AddHttpRemote Ambiguity Error
8.21 Feedback and Suggestions
HttpAgent Documentation
A progressive learning path from "your first HTTP request" to "custom pipeline handlers" — 284 articles in total.
Getting Started
6 articles
1.1
HTTP Remote Request Overview
1.2
Installation & Service Registration
1.3
Using with Claude Code / Codex (llms.txt)
1.4
Comparison with Other HTTP Client Libraries
1.5
About the Author
1.6
Changelog
Quick Start
28 articles
2.1
Getting Website Content
2.2
Sending Request Data
2.3
Form Form Submission (URL Encoding)
2.4
Downloading Network Resources
2.5
Uploading File Resources (OSS)
2.6
HTTP Declarative Requests (Proxy Approach)
22 more…
Request Builder
84 articles
3.1
HttpRequestBuilder Request Builder
3.2
Creating a Builder Instance
3.3
Setting the Request Address
3.4
Method Naming Conventions
3.5
Setting the Trace Identifier
3.6
Setting the Content Type
78 more…
Multipart Form Builder
26 articles
4.1
HttpMultipartFormDataBuilder Form Builder
4.2
Creating a Builder Instance
4.3
Setting the Content Boundary
4.4
Keeping the Default Content-Type of the Content
4.5
Adding a Single Form Item
4.6
Adding JSON content
20 more…
Declarative Requests
43 articles
5.1
HTTP Declarative Requests
5.2
Interface Definition and Usage
5.3
Defining Request Methods
5.4
Defining Request Addresses
5.5
Synchronous and Asynchronous Methods
5.6
Defining Return Value Types
37 more…
Advanced Guide
71 articles
6.1
IHttpContentProcessor Content Processor
6.2
Built-in Content Processors
6.3
IHttpContentProcessorFactory Content Processor Factory
6.4
Custom Content Processor (e.g. Serialization)
6.5
Adding MessagePack Support
6.6
Adding Protobuf Support
65 more…
Use Cases
5 articles
7.1
Use Cases
7.2
Using the Dynamic Object Clay to Build and Receive Request Data
7.3
Using in Blazor WebAssembly Applications
7.4
Using in File-Based Apps Applications
7.5
Using in MAUI Applications
FAQ
21 articles
8.1
FAQ
8.2
Ignoring SSL certificate validation (https errors)
8.3
A sent request hangs or blocks for a long time
8.4
Forcing IPv4 or IPv6 requests
8.5
Handling redirect responses
8.6
Enabling standard request headers
15 more…
AI
llms.txt
·
llms-full.txt