2012-06-16 14 views
1

我使用的是以下行來獲取頁面內容的file_get_contents PARAM網址:PHP改變

$handle = file_get_contents(
    "http://www.mywebsite.com/index.php?show=users&action=msg&section=send", 
    NULL, 
    NULL, 
    1000, 
    19000); 

然後,我得到了以下信息:

警告: file_get_contents(http://www.mywebsite.com/index.php?show=users & action = msg §ion=發送): 無法打開流:HTTP請求失敗! HTTP/1.0 403 Forbidden

(請注意粗體部分)。

它發生了什麼事?爲什麼它會更改url參數?

+1

'§'是§的html實體,但沒有';',這很奇怪。 – greg0ire

+0

你嘗試過'urlencode()' - 你的URL嗎? – slash197

+0

如果您正在瀏覽器中查看此內容,請參閱查看源代碼,如果PHP實際上正在輸出它,或者它只是您的瀏覽器呈現實體。 – deceze

回答

0

我不認爲PHP正在改變查詢字符串參數。

如果您正在瀏覽器中閱讀該消息,則應該只是輸出HTML格式的問題。所以,你得到它的403錯誤不應該涉及到一些不需要的URL轉換。

+0

但是,在我的瀏覽器中加載的URL沒有任何403頭錯誤,無處不在,直到我使用'file_get_contents'從它抓取內容爲止。 – Rusco