2013-10-25 133 views
2

對於大多數人來說,這應該是一個簡單的HttpRequestMessage問題。我試圖發送一個訂閱請求UPnP設備作爲UPnP Device Architecture doc,我需要發送的消息節4.1.2描述應該看起來像下面這樣:如何訂閱UPnP事件

SUBSCRIBE publisher path HTTP/1.1 
HOST: publisher host:publisher port 
USER-AGENT: OS/version UPnP/1.1 product/version 
CALLBACK: <delivery URL> 
NT: upnp:event 
TIMEOUT: Second-requested subscription duration 

最明顯的,這是非常直截了當。有幾個項目我有問題,因爲我目前的方法不起作用。我從服務器返回一個NotFound

是對請求線SUBSCRIBE出版商路徑HTTP/1.1相同,當我創建的WebRequest(WebRequest.Create(...))或是否有屬性某處我可以設置爲?

SUBSCRIBEHttpMethod在這種情況下,或者是這個GetPOSTPUT等?

這裏的當前請求代碼:

var request = WebRequest.Create(new Uri(eventUri)) as HttpWebRequest; 

request.Method = "SUBSCRIBE"; 
request.UserAgent = "MyTab/1.0 UPnP/1.1 TestApp/1.0"; 
request.Headers["CALLBACK"] = "<" + hostname.DisplayName + ":8088>"; 
request.Headers["NT"] = "upnp:event"; 
request.Headers["TIMEOUT"] = "Second-300"; 

回答

3

看起來像我擁有了一切正確的,但我忘了給http://追加到回調URL。