我几天来一直在努力解决这个问题。
C#,通用窗口
我正在尝试访问我家中启用了网络的设备。在查看API时,我应该能够进行以下调用:
{ "id" : "req-1", "url" : "/stable/av/", "method" : "browse" }
事实上,如果我进入提琴手并手动将其发送到设备,我会收到回复。
我正在使用以下代码:
try
{
using (var httpClient = new HttpClient { BaseAddress = baseAddress })
{
var _req = new SendRequest();
_req.id = "rec-100";
_req.url = "/stable/av/";
_req.method = "browse";
var _json = JsonConvert.SerializeObject(_req);
using (var content = new StringContent(_json.ToString(),Encoding.UTF8, "application/json"))
{
using (var response = await httpClient.PostAsync(baseAddress, content).ConfigureAwait(false))
{
responseData = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
}
}
}
var _Response = JsonConvert.DeserializeObject<Response>(responseData);
var item = new ZoneInfo();
item.szIPAddress = szIPAddress;
item.szZoneName = _Response.result.item.title;
lstZones.Add(item);
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
该应用程序挂起httpClient.PostAsync(...
当fiddler遇到httpClient.PostAsync的行时(...我看到正确形成的请求被发送:(这是从fiddler复制并粘贴的){"id":"rec-100","url":"/stable/av/","method":"browse"}
但后来我收到这样的消息,它们像疯了一样滚动(10 /秒)直到我停止申请。
{ “resultId”: “492bfa78-b778-4696-AD7C-c0f6a7733c6f”, “的CustomData”: “{\” 类型\ “:\” SamplePoints \”,\ “开始\”:{\ “H \” :0,\ “L \”:0},\ “端\”:{\ “H \”:5,\ “L \”: - 1002889776},\ “样本\”:436}”, “dwSessionId” : “c533eca5-9ea7-4348-81bd-1920f8ee03da”, “dwRequestId”: “e428bd3c-9d41-479c-993f-325fbfbb4adb”}
这不是我手动发布时获得的数据......
我现在并不关心“挂起”,我更关心的是获取正确的数据。