Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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
.net 删除HTTP webrequest元素_.net_Vb.net_Soap_Webrequest_Wse3.0 - Fatal编程技术网

.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操作标头值