Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HTTPResponse在Windows Phone中缺少标题_C#_Windows Phone 8_Httpresponse - Fatal编程技术网

C# HTTPResponse在Windows Phone中缺少标题

C# HTTPResponse在Windows Phone中缺少标题,c#,windows-phone-8,httpresponse,C#,Windows Phone 8,Httpresponse,我在Windows Phone上使用HTTPRequest获得shoutcast流。当我得到结果时,标题都是空的。响应头在流中(流位置在响应头之前),因此我可以从流中解析头,但是在尝试跟踪字节数以获取元数据时,这会导致一些问题 当我在Windows桌面应用程序中运行相同的代码时。响应有头,流从响应体开始(mp3字节) 代码之间的唯一区别是桌面应用程序在应用程序配置中具有以下内容 <system.net> <settings> <httpWeb

我在Windows Phone上使用HTTPRequest获得shoutcast流。当我得到结果时,标题都是空的。响应头在流中(流位置在响应头之前),因此我可以从流中解析头,但是在尝试跟踪字节数以获取元数据时,这会导致一些问题

当我在Windows桌面应用程序中运行相同的代码时。响应有头,流从响应体开始(mp3字节)

代码之间的唯一区别是桌面应用程序在应用程序配置中具有以下内容

<system.net>
    <settings>
      <httpWebRequest useUnsafeHeaderParsing="true" />
    </settings>
</system.net>


这是一个媒体流,因此响应没有大小。连接和流将保持打开状态,直到手动关闭。是否可以像在Windows桌面应用程序中一样在Windows Phone上获取响应标题?是否有其他方法(例如HTTPClient)允许我指定请求头、获取响应头和响应流?

是的,System.Net.Http.HTTPClient应该允许您这样做。我尝试使用Http-client:var-client=new-HTTPClient();var requestMessage=new-HttpRequestMessage(HttpMethod.Get,”);requestMessage.Headers.Add(“用户代理”,“winampmeg/5.0”);requestMessage.Headers.Add(“Icy元数据”,“1”);HttpResponseMessage response=wait-client.sendsync(requestMessage);但是,代码挂起在SendAsync上。我假设这是因为response流长度永远不会结束。Ideas?您的代码存在一些问题,因为您必须将SendAsync重载与HttpCompletionOption.ResponseHeadersRead枚举一起使用,然后调用response.Content.ReadStreamAsync()。但是,问题是HttpClient不支持分析不安全的头,因此您仍然会发现头计数为0。有关参考信息,请参阅。