You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将已URL编码的字符串用于PostAsync请求?

解决方案

你的请求体是URL编码的表单格式,需要把字符串包装成StringContent(HttpContent的子类),并设置正确的请求头,才能让服务器正确解析内容。

具体操作如下:

  • 用StringContent包裹请求体字符串,指定UTF-8编码,同时将Content-Type设为application/x-www-form-urlencoded(这是URL编码表单的标准媒体类型)
  • 把这个StringContent实例作为PostAsync的第二个参数传入即可

完整代码示例

string request_body = "jazoest=25476&fb_dtsg=NAcPrG47So0hD5mhwwRfxJpl2Ey0_MYGJ56i7hag-P_t9oHc4SRnzmg%3A27%3A1666973204&create_test_app=1&parent_app_id=851841869280804&basic_name=asdsa%20-%20Test2&__usid=6-Trkzn9iowut6h%3APrkzqwf7zns4o%3A0-Arkzq8is0tywz-RV%3D6%3AF%3D&__user=100047878717&__a=1&__dyn=7xeUmxa3-Q8zo9E4a2i5U4e1Fx-ewSxu68uxa2e1Ezobo9E984e0G8G6Ehw9-15wfO1YCwjE7R2o4U1eE4aUS1vw4iwBgaohzE2DwiUmwnEfo4a5Ey19zUuw9O0RE5a1qxa1XwnE2Lxiaw4qxa7o-3qazo8U3ywbS1bqo2Yw&__csr=&__req=1m&__hs=19303.BP%3Adevsite_pkg.2.0.0.0.0&dpr=1&__ccg=EXCELLENT&__rev=1006332&__s=v4ezlf%3%3Awrukmu&__hsi=7163345567570&__comet_req=0&lsd=x_LyfPf8wTksRdG&__aaid=96891893825&ajax_password=302o&confirmed=1";

// 转换为符合要求的HttpContent类型
var content = new StringContent(request_body, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded");

// 发送请求
var result = Client.PostAsync(baseAddress, content).Result;

补充说明

  • 指定application/x-www-form-urlencoded是为了告诉服务器当前请求体是URL编码的表单格式,确保参数能被正确解析
  • 推荐用await替代.Result,避免同步阻塞线程,优化后代码:
var result = await Client.PostAsync(baseAddress, content);

内容的提问来源于stack exchange,提问作者SrMilton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:21:02