繁体   English   中英

如何在HTTP标头值中放置回车符

[英]How to place carriage Return in HTTP Header value

我有一个HTTP Web请求,看起来类似于以下内容:

    Dim myrequest As HttpWebRequest = HttpWebRequest.Create("myURL")
    myrequest.Proxy = Nothing
    myrequest.UserAgent = "AGENT"
    myrequest.Method = "POST"
    myrequest.ContentLength = 0

    myrequest.Headers.Add("KEY1", value)
    myrequest.Headers.Add("KEY2", value)


    Dim myresponse As HttpWebResponse = myrequest.GetResponse
    Dim mystream As System.IO.Stream = (myresponse.GetResponseStream)

    Dim streamreader As New System.IO.StreamReader(mystream)
    return streamreader.ReadToEnd

问题是我无法发送以下任何值以在标题值中放置换行符。 到目前为止,我已经尝试过:

vbNewLine

vbCrLf

VBCR

vbLF

这些会产生一个错误,提示“指定的值包含无效的CRLF字符”,我也尝试过

\\ n

\\ r \\ n

它只是将字符串文字添加到我的值中,并且不包含回车符。 在服务器端,我想获取此标头中包含的值并将其放在MySQL的列中。

Http标头不得包含新行,因为这被定义为标头分隔符。

请参阅https://tools.ietf.org/html/rfc7230#section-3 ,尤其是https://tools.ietf.org/html/rfc7230#section-3.2.6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM