使用的明显答案ClientWebSocket.SetHeader
会引发异常,因为它是受保护的标头:
System.ArgumentException 发生 Message=必须使用适当的属性或方法修改“User-Agent”标头。 参数名称:名称 参数名称=名称 堆栈跟踪: 在 System.Net.WebHeaderCollection.ThrowOnRestrictedHeader(字符串 headerName)
异常字符串建议在其自身上使用属性/方法,ClientWebSocket
但我找不到任何此类属性/方法。似乎此异常是为HttpWebRequest
实际上具有此类属性的类设计的。
该代码不起作用:
ClientWebSocket socket = new ClientWebSocket();
// Will throw
socket.Options.SetRequestHeader("User-Agent", "SomeUserAgentString");
// Will throw
socket.Options.SetRequestHeader("Referer", "SomeReferer"]);