2010-07-26 36 views
1

我必須從PHP腳本運行獲取請求,但我處於相當有限的環境中(嚴格的防火牆,無法修改PHP安裝等等)。 )。在有限的環境中從PHP腳本獲取請求

fsockopen()返回一個錯誤,http_get()似乎沒有安裝。我知道的唯一的另一種方式是調用file_get_contents(),它工作正常,除了我需要在請求中設置引用標頭(我不認爲你可以用file_get_contents()做到這一點)

有誰知道任何其他的方式來運行通過PHP GET請求

感謝

編輯:?!還有,捲曲不可用:-(

+0

對於一個結構良好的問題+1。 – JClaspill 2010-07-26 16:12:33

回答

2

您可以使用file_get_contents()HTTP context來設置標題。例如,

$opts = array(
    'http'=>array(
    'method'=>"GET", 
    'header'=>"Accept-language: en\r\n" . 
       "Referer: http://foo.bar.com\r\n" 
) 
); 

$context = stream_context_create($opts); 
$fp = fopen('http://www.example.com', 'r', false, $context); 
fpassthru($fp); 
fclose($fp); 
+0

非常感謝Otterfan!我跑過那個答案並在大約8分鐘前將它發佈在這裏:-D--感謝您的幫助! – loneboat 2010-07-26 15:38:01

+0

+1格式美觀。 – JClaspill 2010-07-26 16:11:54

1
在PHP

,請參閱捲曲功能

+0

感謝您的答案 - 我忘了將CURL添加到不可用的方法列表中。 :-(謝謝,雖然! – loneboat 2010-07-26 14:26:08

0

經過一些額外的研究,看起來像我最好的選擇給予我有的資源是使用stream_context_create()在上下文流中創建標頭,您可以顯然發送到file_get_contents()。不知道!