我有一个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中的列中。
答案 0 :(得分:4)
Http Headers不能包含新行,因为它被定义为标题分隔符。
请参阅https://tools.ietf.org/html/rfc7230#section-3,尤其是https://tools.ietf.org/html/rfc7230#section-3.2.6。