我想发送HTTP GET到http://example.com/%2F。我的第一个猜测是这样的:
using (WebClient webClient = new WebClient())
{
webClient.DownloadData("http://example.com/%2F");
}
不幸的是,我可以看到网络上实际发送的是:
GET // HTTP/1.1
Host: example.com
Connection: Keep-Alive
所以http://example.com/%2F被翻译成http://example.com//发送之前。
有没有一种方法可以实际发送此GET请求?
OCSP协议要求在HTTP / GET上使用OCSP时必须发送base-64编码的url编码,因此有必要发送实际的%2F而不是'/'以使其兼容。
编辑:
这是OCSP协议标准(RFC 2560附录A.1.1)的相关部分:
使用GET方法的OCSP请求的构造如下:
GET {url} / {url-encoding of OCSPRequest的DER编码的base-64编码}
我很乐意接受其他阅读,但是我看不出还有什么意思。