可以POST到自定义注册的协议/方案
本文关键字:协议 方案 注册 POST 自定义 可以 | 更新日期: 2023-09-27 18:29:11
我正在开发一个web应用程序,该应用程序需要在客户端计算机上调用自定义注册协议。目前,我对协议进行GET,然后通过querystring传递参数。
是否可以对自定义注册的协议进行POST?如果可以,我将如何在CustomProtocol.exe中提取标头信息
这是我当前的GET解决方案
从javascript 启动调用
Custom://startup?Function=DoSomething&Value1=Test&Value2=Test
我在机器上注册的自定义协议。
[HKEY_CLASSES_ROOT'Custom'shell'open'command]
@="'"CustomProtocol.exe'" '"%1'""
然后我编译了下面的代码来生成CustomProtocol.exe。在执行过程中,URI被传递到Main方法中,然后提取querystring。
namespace CustomProtocol
{
class Program
{
static void Main(string[] args)
{
// Get the querystring from the URI being passed in
// Business code...
}
}
}
编辑1:
这是向自定义注册协议进行发布时的标头。该协议只有1个arg被传递到其中,就像GET一样,GET是URI。不知怎么的,如果我能访问标题信息。。。
Request URL:http://localhost/CustomWebInvoker/Default.aspx Request Headersview source Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Content-Type:application/x-www-form-urlencoded Origin:http://localhost Referer:http://localhost/CustomWebInvoker/Default.aspx User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.78 Safari/535.11 Form Dataview URL encoded
__VIEWSTATE:/wEPDwUKMTkxMDU5NzI4OWRkBWZZppW219Muku6ZjiGZLQG5um8=
__EVENTVALIDATION:/wEWCwKz9d77DAK57evuBgLk0vuTDALl+pjzDQKB8r3PAQKk+8X1CwLLneGNCgK2gO/LCAK355HvBAKAseegDAL+ovbYDMmmPuTHB0XbFjGRG9Wl1ij5kObV
dlLanguage:English
dlApplicationMode:UpdateMode
dlCallingApplication:CSS
dlCentre:EasternCompCenter
btnFastPath:Fast Path
NO-任何自定义协议处理程序基本上都是通过命令行获取信息的。。。无法将POST映射到命令行。。。如果您真的需要这样做,我建议将其作为基于http的Web服务(WCF、SOAP/REST)来实现。。。