使用url编码的斜杠获取URL。

10 浏览
0 Comments

使用url编码的斜杠获取URL。

我想向http://example.com/%2F发送一个HTTP GET请求。我的第一个猜测可能是这样的:

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协议规定在使用OCSP over HTTP/GET时,必须发送base-64编码的url编码,因此必须发送实际的%2F而不是'/'以符合规范。

编辑:

这是OCSP协议标准的相关部分(RFC 2560附录A.1.1):

使用GET方法构造的OCSP请求如下所示:

GET {url}/{url-encoding of base-64 encoding of the DER encoding of the OCSPRequest}

我非常愿意接受其他解读,但我看不出还有其他可能的含义。

0