socket 執行個體
用file_get_contents擷取遠程檔案,返回錯誤,串連不上。
網上有人說可以用socket。沒用過啊,搜了一下都是你轉我的我轉你的,對於初次接觸的人來說可操作性不強啊。
我現在的需求是寫小偷程式,從別人的網站上拷內容。
那些介紹socket的文章都有提到“服務端程式”和“用戶端程式”。
我有個不明白的地方:
服務端程式是放在哪兒的?被訪問網站的伺服器上嗎? 那跟我應該沒關係吧(不用寫),我是不是只需要寫用戶端程式呢?
執行個體拜託寫入程式碼 就以www.baidu.com為例子吧 感謝感謝!!
回複討論(解決方案)
socket 不是分放在哪,而是監聽一方為伺服器端,請求串連一方為用戶端
你如果只是要抓東西,socket對你來說太難了,沒必要,用curl吧,搜尋一下本版,相關文章多的是
file_get_contents 不行嗎,出了什麼錯。
file_get_contents 不行嗎,出了什麼錯。
由於串連方在一段時間後沒有正確回覆或串連的主機沒有反應,串連嘗試失敗
對方做了限制吧,嘗試著用curl試試看。
socket 不是分放在哪,而是監聽一方為伺服器端,請求串連一方為用戶端
你如果只是要抓東西,socket對你來說太難了,沒必要,用curl吧,搜尋一下本版,相關文章多的是
要是能用也不用想socket的辦法了
// 建立一個新cURL資源
$ch = curl_init();
// 設定URL和相應的選項
curl_setopt($ch, CURLOPT_URL, "http://bbs.csdn.net/topics/380240079");
curl_setopt($ch, CURLOPT_HEADER, 0);
// 抓取URL並把它傳遞給瀏覽器
var_dump(curl_exec($ch));
// 關閉cURL資源,並且釋放系統資源
curl_close($ch);
換了n個連結,都返回false。 發給朋友試,他說他那邊返回true
不是可以嗎,你那裡不可以嗎
不是可以嗎,你那裡不可以嗎
這是我試的代碼:
// 建立一個新cURL資源
$ch = curl_init();
// 設定URL和相應的選項
curl_setopt($ch, CURLOPT_URL, "http://bbs.csdn.net/topics/380240079");
curl_setopt($ch, CURLOPT_HEADER, 0);
// 抓取URL並把它傳遞給瀏覽器
var_dump(curl_exec($ch));
// 關閉cURL資源,並且釋放系統資源
curl_close($ch);
不行。
兄弟幫忙試試看?
通過curl抓取網頁。
用你的代碼可以出來啊
用你的代碼可以出來啊
昨天回家試可以。怪了
找到一個,試試:
function read_file($url){ $r=@file_get_contents($url); if(!$r){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); //設定訪問的url地址 //curl_setopt($ch,CURLOPT_HEADER,1); //是否顯示頭部資訊 curl_setopt($ch, CURLOPT_TIMEOUT, 5); //設定逾時 curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_); //使用者訪問代理 User-Agent curl_setopt($ch, CURLOPT_REFERER,_REFERER_); //設定 referer curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); //跟蹤301 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回結果 $r = curl_exec($ch); curl_close($ch); } return $r; }
不行就表示你的 curl 擴充沒有開啟,不過連 file_get_contents 都不能訪問 url 的話,curl 多半是不黑開啟的
不行就表示你的 curl 擴充沒有開啟,不過連 file_get_contents 都不能訪問 url 的話,curl 多半是不黑開啟的
擴充開啟了
我在公司試,不管用file_get_contents ,curl都不行。回家試可以。 不知道跟網路有沒有關係?