本文實例講述了php采用file_get_contents代替使用curl的方法,分享給大家供大家參考。具體實現方法如下:
file_get_contents代替使用curl其實不多見了,但有時你碰到服務器不支持curl時我們可以使用file_get_contents代替使用curl,下面看個例子。
當用盡一切辦法發現 服務器真的無法使用curl時。或者curl不支持https時。curl https 出現502時。你又不想重裝網站環境的時候,你就改用file_get_contents 代替吧。
curl 經常使用的 curl get curl post
curl get 替代 直接用file_get_contents($url) 就可以了
curl post 替代如下:
復制代碼 代碼如下:function Post($url, $post = null) {
$content = http_build_query($post);
$content_length = strlen($content);
$options = array(
'http' => array(
'method' => 'POST',
'header' =>"Content-type: application/x-www-form-urlencoded",
'content' => $post
)
);
return file_get_contents($url, false, stream_context_create($options));
}
希望本文所述對大家的php程序設計有所幫助。
模擬個頭部信息
<?php $opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"User-Agent: ".$_SERVER['HTTP_USER_AGENT']."\r\n" ) ); $context = stream_context_create($opts); $url = dynamic.12306.cn/...0$data = file_get_contents($url,null,$context);echo $data;?> 這樣就可以了
純自動錄入,還是配合人手動。假如手動就簡單多了,無非就是寫個正則把頁
面的url和標題搞下來。要是純自動的,你必須寫一段程序模擬出來你正常訪問
情況,當你到達第一頁的時候,是發送的一個POST請求,你需要發送相應參數
和POST請求過去,然後再頁面截取相應的需要,當要訪問第二版的時候,發送
的是GET請求,這個時候同理要發送參數過去條狀,直到第十頁。php管網上有
類似的爬蟲類,去下個,很方便的