【发布时间】:2019-07-31 14:46:12
【问题描述】:
我在桌面应用程序中嵌入了一个 http 服务器,用于捕获来自 OAuth2 重定向的响应。以下方法获取消息并将其转换为字符串:
private void ReceiveCallback(IAsyncResult ar)
{
var client = (Socket)ar.AsyncState;
var size = client.EndReceive(ar);
var received = new byte[size];
Array.Copy(Buffer, received, size);
var data = Encoding.ASCII.GetString(received);
OnCallback(data);
}
OnCallback 方法是将数据传递给另一个类的事件。成功调用 auth 后数据内容如下所示:
GET /?code=CODE_I_NEED_APPEARS_HERE HTTP/1.1
主机:本地主机:8321
连接:保持活动
缓存控制:max-age=0
升级不安全请求:1
用户代理:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36
接受:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8
接受编码:gzip、deflate、br
接受语言:en-US,en;q=0.9
如何从上述字符串中提取代码参数(CODE_I_NEED_APPEARS_HERE 值 - 我删除了实际代码,因为它是一个身份验证令牌)?我尝试创建一个 http 响应消息以将字符串拆分为属性,但我找不到检索 GET 参数值的方法:
var response = new HttpResponseMessage();
response.Content = new StringContent(message);
【问题讨论】:
标签: c# http httpclient httpresponse