偽造IP是不可能的,HTTP協(xié)議是機遇TCP,你發(fā)送GET命令過去必須留有準確的IP地址,否則對方無法把結(jié)果發(fā)給你,你與服務(wù)器xxx.xxx.xx的通訊相當于寫信,你匿名寫信只能攻擊,要獲取返回的東西必須提交真實的地址。
易縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
無論使用CURL還是別的方法,都要受前面的基本規(guī)則限制。
編程上已經(jīng)沒有辦法可走了,你可以考慮使用代理,通過代理服務(wù)器去獲取數(shù)據(jù),查封就換個代理服務(wù)器。不過現(xiàn)在代理服務(wù)器是很難找的。
PHP怎么在多IP服務(wù)器中切換IP采集數(shù)據(jù)
網(wǎng)友分享于:2015-08-26 瀏覽:121次
PHP如何在多IP服務(wù)器中切換IP采集數(shù)據(jù)?
在PHP 中使用CURL 采集某URL數(shù)據(jù),由于服務(wù)器擁有有多個IP,所以想在CURL中切換不同的IP來采集以防止被封,但是發(fā)現(xiàn)curl_setopt($ci, CURLOPT_PROXY, '1.1.1.1'); 這種不可用
請問有什么解決辦法,或者不使用curl 用snoopy等也可以,請大家指教
40
分享到:
------解決方案--------------------
用fsockopen
function get_from_website($ip, $domain)
{
$content = '';
$fp = fsockopen($ip, 80);
fputs($fp, 'GET / HTTP/1.0\r\n');
fputs($fp, 'Host; '.$domain.'\r\n\r\n');
while(!foef($fp)) {
$content += fgets($fp, 1024);
}
fclose($fp);
return $content;
}
get_from_website('1.1.1.1', 'example.com');
get_from_website('1.1.1.2', 'example.com');
get_from_website('1.1.1.3', 'example.com');
get_from_website('1.1.1.4', 'example.com');
動態(tài)IP是與靜態(tài)IP相對的,何為動態(tài)IP,那就就是使用網(wǎng)絡(luò)的過程中,需要IP的時候,運營商動態(tài)地分配給你一個IP使用。
比如你用的是某運營商的網(wǎng)絡(luò),它有五十個IP,一共一百個用戶,但最大上線率為四十個人同時上線。當你開機使用網(wǎng)絡(luò)時,它就從其它人未占用的IP中,隨機分配一個IP給你,中途你關(guān)機或者中斷網(wǎng)絡(luò)連接,這個IP就被釋放了,你再次聯(lián)網(wǎng),它就隨機分配一個IP給你。這樣的IP就是動態(tài)IP。
當然,動態(tài)IP也不僅限與聯(lián)網(wǎng)與斷網(wǎng)之間,有些坑爹網(wǎng)絡(luò)也會在你使用網(wǎng)絡(luò)的過程中更改你的IP。
比如我用的艾普寬帶,使用了才曉得有好坑爹,網(wǎng)絡(luò)過程中隨時都有可能換IP,這使得有網(wǎng)絡(luò)安全檢測的網(wǎng)站或者軟件與我無緣。
至于你說的PHP動態(tài)IP,這個我真沒聽說過。
而動態(tài)IP簡而言之,就是變化著的IP。
用fsockopen
function?get_from_website($ip,?$domain)
{
$content?=?'';
$fp?=?fsockopen($ip,?80);
fputs($fp,?'GET?/?HTTP/1.0\r\n');
fputs($fp,?'Host;?'.$domain.'\r\n\r\n');
while(!foef($fp))?{
$content?+=?fgets($fp,?1024);
}
fclose($fp);
return?$content;
}
get_from_website('1.1.1.1',?'example.com');
get_from_website('1.1.1.2',?'example.com');
get_from_website('1.1.1.3',?'example.com');
get_from_website('1.1.1.4',?'example.com');