如何解决WebRequest内容配置丢失
给我一个困扰我的小问题。
因此,这是我几年前在学习时编写的一个小程序,直到几天前,它都可以完美完成。本质上,只需对SOAP服务进行历史记录并下载文件。
httpRequest = WebRequest.Create(My.Settings.RequestAddress)
Using httpResponse As WebResponse = httpRequest.GetResponse
Using responseStream = New IO.StreamReader(httpResponse.GetResponseStream,StreamEncoding)
Dim SourceFileName As String = GetSourceFileName(httpResponse.Headers.GetValues("content-disposition"))
'httpResponse.Headers.GetValues("content-disposition") is returning nothing
Dim StreamFileName As String = IO.Path.Combine("c:\Temp",SourceFileName)
Using StreamWrite = New IO.StreamWriter(StreamFileName,False,StreamEncoding)
do while Not responseStream.EndOfStream
StreamWrite.WriteLine(responseStream.ReadLine)
Loop
StreamWrite.Flush()
End Using
End Using
End Using
Private Function GetSourceFileName(ByVal dispositionAttrib As String) As String
Dim retVal As String = String.Empty
Dim strArr As String() = Split(dispositionAttrib,"=")
If strArr.Length > 1 Then
retVal = strArr(1)
End If
Return retVal
End Function
出于某种原因,我无法确定自己的生活,因此看不到“ content-disposition”标头属性。
我可以通过邮递员拨打完全相同的电话,并且在那里。也已仔细检查过Header.Keys集合,没有任何迹象。我想念什么?
更新 只需试用一下,即可将WebRequest更改为HttpClient。仍然缺少内容配置
Using client As New HttpClient()
Dim response = client.GetAsync(My.Settings.RequestAddress).Result
Dim fileNameAttribute = response.Headers.GetValues("content-disposition")
Console.WriteLine(fileNameAttribute)
End Using
更新。通过调试器查看时获得的标头值为:
{语法:无缓存内容长度:27缓存控件:私有 内容类型:text / html; charset = utf-8日期:2020年9月2日星期三20:45:37 GMT过期:星期二,2020年9月1日20:45:38 GMT Set-Cookie: ASP.NET_SessionId = 0kqeh5d1a2fni35chmbpibqv;路径= /; HttpOnly; SameSite =松散服务器:Microsoft-IIS / 10.0 X-AspNet版本:4.0.30319 X-Powered-By:ASP.NET
}
我想知道X-Powered-By之后底部的空白行
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。