2010-01-26 25 views
1

我正試圖在我的網站上用PubSubHubbub取代RSS輪詢。我可以使用谷歌提供的用戶庫來發送訂閱請求。從代碼看來,它通過cURL發送一個包含RSS URL和一個回調URL的發佈請求。接收並處理PHP中的GET請求

因此,這是我需要一些方向:

爲了完成訂閱請求我的回調URL必須接收一個GET請求,然後回從GET請求的值與200響應一起。我如何從GET請求獲取參數?回聲是否通過cURL再次完成?如果有的話,200選項應該包含哪些選項?

回答

2

我不確定我是否錯過了一點,但這是非常簡單的腳本的開始?

<?php 

    echo $_GET["request_name"]; 

?> 

這將輸出的GET參數request_name和(隱含)發送200

+0

這是我第一次嘗試。 GET請求假設包含一個名爲「hub.challenge」的參數。所以我使用$ _GET並嘗試將值寫入txt文件。我也添加了一個字符串,它確實達到了回調,因爲它顯示了txt文件中的字符串,而不是使用$ _GET的參數值。 – 2010-01-26 19:25:22

+0

$ request = $ _GET ['hub.challenge']; fh = fopen('test.txt,'a')或死(「無法打開文件」); fwrite($ fh,'Test:'。$ request); fclose($ fh); – 2010-01-26 19:27:16

+0

嗯。那看起來好像。並且肯定應該輸出該名稱的GET參數。變量名中的點也不應該成爲問題。您能否首先確認您的腳本正在被參數調用,例如通過檢查訪問日誌?什麼是你的PHP版本? – 2010-01-26 19:29:18

1

有最近關於這個PHP開發郵件列表上的線程。您無法訪問$ _GET超全局中的'hub.challenge'的原因是由於register_globals。基本上PHP在創建superglobals之前會清理所有參數名稱。任何點將被轉換爲下劃線。它看起來在PHP 6中是「固定的」,但由於BC問題而不是之前。

Here's the thread about it.