1
我需要从http webrequest中删除最后一个换行以便与json-rpc服务进行通信。 .net生成的请求看起来像这样。从c#web请求的头部中删除换行
POST http://localhost.:8332/ HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.1)
Authorization: Basic dGlwa2c6dGlwa2c=
Host: localhost.:8332
Content-Length: 42
Expect: 100-continue
Connection: Keep-Alive
{"id":1,"method":"getinfo","params":[]}
我需要将这个(通知后,最后报头值丢失换行符和JSON内容的开始):
POST http://localhost.:8332/ HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.1)
Authorization: Basic dGlwa2c6dGlwa2c=
Host: localhost.:8332
Content-Length: 42
Expect: 100-continue
Connection: Keep-Alive
{"id":1,"method":"getinfo","params":[]}
我无法找到任何东西,我可以操纵这是实际发送到服务的标题。
见http://www.bitcoin.org/smf/index.php?topic=2170.0有关该问题的更多背景...
如果服务需要像第二个示例那样的请求,那么它不是有效的HTTP。 HTTP需要一个空白行将标题与正文分开(如果有的话)。 – 2010-12-09 18:57:55
您是否测试过这个版本并验证过它没有换行符?要测试这个,你可以使用telnet(运行telnet主机名80,然后在文本编辑器的请求之后)。我从来没有听说过关心\ r \ n或\ n的网络服务器,所以希望这没有任何区别。如果确实如此,您可以使用NetworkStream类来仔细考虑您发送的字符。 – 2010-12-10 02:50:16