如何通过浏览器发送不同的HTTP请求方法?我正在使用chrome,但其他任何人都会这样做。
例如,我想尝试TRACE
或OPTIONS
方法用于教育目的。知道我该怎么做吗?
示例:
请求消息:
OPTIONS * HTTP/1.1
Host: www.joes-hardware.com
Accept: *
回复讯息:
HTTP/1.1 200 OK
Allow: GET, POST, PUT, OPTIONS
Context-length: 0
答案 0 :(得分:1)
浏览器本身不会使用DataRows
,GET
和POST
以外的动词(读取:方法)发出任何请求。然而,通过ajax的权力,他们可以通过XmlHttpRequest对象使用大量其他方法。但是,您将out of luck使用HEAD
动词:
如果方法是
TRACE
,CONNECT
或TRACE
的区分大小写的匹配项,请抛出" SecurityError& #34;异常并终止这些步骤。
如果您不想或不需要绑定到浏览器,则有很多选项。首先,Perl的libwww库附带了TRACK
,GET
和HEAD
命令行实用程序,这些实用程序非常简洁。
更完整的解决方案是cURL,这是一个非常完整的解决方案,适用于多种协议。其最初的目的是简单地从URL( c atch URL = cURL )捕获文件,这并不一定意味着来自HTTP服务器。通过格式良好的URL,cURL可以从IMAP服务器上的电子邮件下载附件。您最感兴趣的是cURL命令行界面的POST
选项,它允许您为HTTP请求指定任意谓词。但是尽管可能很强大,但可能no way会发出-X
请求。
作为最后的努力,我可以全心全意地推荐netcat,它接受管道输入并完全能够处理加密(这比openssl的s_client更舒服)。您可能已经知道可以通过telnet模拟HTTP请求(如果输入的速度足够快)。但我相信你会发现netcat有一些heredoc方式更舒服:
OPTIONS * HTTP/1.1
netcat本身不会说HTTP,因此您自己负责处理请求的语法正确性。另一方面,这使您可以完全自由地进行实验。