2011-12-20 72 views
0

我有一個連接到https://pubsubhubbub.appspot.com/subscribe我把參數如下https://pubsubhubbub.appspot.com/subscribe空響應

https://pubsubhubbub.appspot.com/subscribe 
hub.topic http://...../lastupby 
hub.callback http://localhost:8080/Subscription/subscription/subscribe 
hub.mode subscribe 

但我得到空應答我不明白是什麼問題用戶客戶端感謝您的幫助

HttpPost httppost = new HttpPost(hub); 
       List<NameValuePair> nvps = new ArrayList<NameValuePair>(); 
       nvps.add(new BasicNameValuePair("hub.callback", callbackUrl)); 
       nvps.add(new BasicNameValuePair("hub.mode", "subscribe")); 
       nvps.add(new BasicNameValuePair("hub.topic", topic_url)); 
       nvps.add(new BasicNameValuePair("hub.verify", "sync")); 
       if (lease_seconds != null) 
        nvps.add(new BasicNameValuePair("hub.lease_seconds", lease_seconds)); 
       //For future https implementation 
       //if ((secret !=null) && (secret.getBytes("utf8").length < 200)) 
       // nvps.add(new BasicNameValuePair("hub.hub.secret", secret)); 
       if (verifytoken !=null) 
        nvps.add(new BasicNameValuePair("hub.verify_token", verifytoken)); 

       webserver.addAction("subscribe",topic_url, verifytoken); 

       httppost.setEntity(new UrlEncodedFormEntity(nvps)); 
       httppost.setHeader("Content-type", "application/x-www-form-urlencoded"); 
       httppost.setHeader("User-agent", "RSS pubsubhubbub 0.3"); 

       //create the thread and start it running 
       GetThread thread = new GetThread(httpClient, httppost); 
       thread.start(); 
       thread.join(); 

謝謝

+1

你得到了什麼錯誤/異常? – 2011-12-20 06:54:57

+0

當我嘗試獲取System.out.println(「thread.httpresponse」+ thread.httpresponse.getStatusLine()。getReasonPhrase())響應代碼時,我沒有得到任何錯誤;它返回空///我們在代理後面工作,是否會導致這種情況?我不知道 – 2011-12-20 08:53:22

回答

1

你應該檢查的第一件事是響應的HTTP狀態,然後,檢查身體本身,可能包括你在做什麼做錯了。

此外,基於你的例子,我幾乎可以肯定的問題是你的回調url。當您將訂閱請求發送到集線器時,集線器需要與您覈對您是否需要此訂閱。然後它發送一個請求到你的回調url(檢查spec中intent部分的驗證)。由於您的回撥確實在防火牆後面,因此集線器將永遠無法到達它。

+0

好吧我會檢查,但我不知道防火牆的原因,訂閱請求後谷歌樞紐回調和訂閱主題嗎?謝謝也許訂閱URL可能是錯誤的 – 2011-12-20 12:09:33