.net 删除HTTP webrequest元素
我希望从.net 删除HTTP webrequest元素,.net,vb.net,soap,webrequest,wse3.0,.net,Vb.net,Soap,Webrequest,Wse3.0,我希望从HTTPWebRequest中删除某些元素,我已将需要删除的元素附加到图像中(元素颜色为红色): 我试过: System.Net.ServicePointManager.Expect100Continue = False 对于其中一个元素,但无效 我也试过: webRequest.Headers.Remove(HttpRequestHeader.Connection) 任何帮助都将不胜感激 这是我的密码: Dim content As blah.Content = New
HTTPWebRequest
中删除某些元素,我已将需要删除的元素附加到图像中(元素颜色为红色):
我试过:
System.Net.ServicePointManager.Expect100Continue = False
对于其中一个元素,但无效
我也试过:
webRequest.Headers.Remove(HttpRequestHeader.Connection)
任何帮助都将不胜感激
这是我的密码:
Dim content As blah.Content = New blah.Content
Dim inputguid As String = Guid.NewGuid.ToString
Dim service As blah.WebService = New blah.WebService
Dim str As New System.Xml.XmlDocument
Dim payload As blah.Payload = New blah.Payload
System.Net.ServicePointManager.Expect100Continue = False
'payload
str.LoadXml(xmlstr)
'manifest
service.payloadManifest = New blah.PayloadManifest
service.payloadManifest.manifest = New blah.Manifest() {New blah.Manifest}
service.payloadManifest.manifest(0).element = "GetVehicleServiceHistory"
service.payloadManifest.manifest(0).namespaceURI = "http://www.starstandards.org/STAR"
service.payloadManifest.manifest(0).contentID = "Content0"
service.payloadManifest.manifest(0).version = "2.01"
service.SoapVersion = SoapProtocolVersion.Soap11
service.UserAgent = "VendorName"
payload.content = New blah.Content() {content}
ReDim Preserve payload.content(0)
payload.content(0).Any = str.DocumentElement
payload.content(0).id = "Content0"
service.Timeout = -1
service.Url = "http://localhost:8080"
service.ProcessMessage(payload)
然后在我的Web服务的reference.vb中:
Protected Overrides Function GetWebRequest(ByVal uri As Uri) As WebRequest
Dim webRequest As HttpWebRequest = DirectCast(MyBase.GetWebRequest(uri), HttpWebRequest)
Dim sp As ServicePoint
sp = ServicePointManager.FindServicePoint(New Uri(Me.Url))
sp.ConnectionLeaseTimeout = 0
webRequest.Headers.Remove(HttpRequestHeader.Connection)
webRequest.KeepAlive = False
webRequest.Timeout = 100000
webRequest.ReadWriteTimeout = 100000
Return webRequest
End Function
您想从HTTP消息中删除一些更详细的标题吗?
您可以做的一件简单的事情是:
webRequest.ProtocolVersion = HttpVersion.Version10
其中有几个标头不在HTTP的1.0版本中,只存在于1.1版本()中,因此降级到1.0版本时,应该为您处理很多“额外标头”
如果你想去掉Content-Length标题,那么我很确定你必须从POST切换到get。如果你在写一篇文章,那么内容长度通常是必需的
如果这不适合您,那么您必须进入最后一步,停止使用HttpWebRequest(它为您做了大量的HTTP工作),只需执行一个简单的TCP连接(可能是通过类?)并指定要发送的确切HTTP消息。这需要做更多的工作,但这可能是发送非常特定的消息的唯一方法,您可以在其中控制所有正在使用的HTTP头
希望有帮助 你能发布你想要实现的全部代码吗?提示#1:停止使用WSE。它非常过时。另外,请查看为什么您认为需要更改这些标题?虽然看起来在一个SOAPAction头值周围使用了错误的引号,但我已经对其进行了排序。。不需要更改soap操作标头值