我正在开发一个Web应用程序,需要在客户端计算机上调用定制注册协议。目前我对协议做了GET,然后通过查询字符串传递参数。可能发布到自定义注册协议/方案?
是否可以对自定义注册协议执行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方法,然后我提取查询字符串。
namespace CustomProtocol
{
class Program
{
static void Main(string[] args)
{
// Get the querystring from the URI being passed in
// Business code...
}
}
}
EDIT 1:
这是头做后到自定义注册协议时。该协议只有1个参数传递给它,就像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
当你尝试时会发生什么? – BNL 2012-03-28 15:27:35
给它一个去,并添加上面的编辑。同样的结果,只有URI是唯一的参数传递,我至今无法从我的CustomProtocol.exe中访问头信息。 – silentfrost 2012-03-30 15:08:01