php顯示ip-ag真人国际官网
㈠ 可否在php的網頁中判斷ip地址,然後顯示不同網頁
至於判斷,你可以寫一個匹配你們內部ip地址的正則表達式來,然後根據此表達式來判斷客戶ip地址 如果這麽固定的話,還不用正則表達式。 if(substr($remote_addr,0,9)=="168.192.0"){ echo "是本地ip地址";}substr($remote_addr,0,10)=="168.192.0." 如果客戶端是通過代理上來的,只能獲得代理伺服器的地址,沒法獲得真實的ip,所以這個方法是有局限性的 我寫了一個php過濾ip的類,需要的話和我聯系 [email protected] 我的郵箱[email protected] 我的信箱:[email protected] ip能否判斷大小?若可以!最好就以大小來判斷!能否給我也發一份,參考一下
㈡ 各種編程語言配置代理ip(python,php,java,nodejs,ruby...)
代理ip對於爬蟲採集來說至關重要,它能夠幫助我們繞過各種限制,讓數據採集更加高效便捷。以下提供幾種常見編程語言配置代理ip的方法,以供參考。
為了確保代碼片段的實用性和可擴展性,本文將僅提供核心代碼片段,具體的業務邏輯需要根據實際項目需求自行添加。
在配置代理ip前,請確保你已經准備好相應的代理資源。你可以選擇使用如kuaidaili.com等代理服務提供商,或自行構建代理伺服器。
以下是部分編程語言配置代理ip的示例代碼:
php配置代理ip:
php
$proxy = 'http://username:password@proxy-host:port';
$options = array(
'http' => array(
'proxy' => $proxy,
),
);
python配置代理ip:
python
proxies = {
'http': 'http://username:password@proxy-host:port',
'https': 'http://username:password@proxy-host:port'
}
java配置代理ip:
java
httpclient httpclient = httpclients.createdefault();
requestconfig requestconfig = requestconfig.custom()
.setproxy(new httphost("proxy-host", port, "http"))
.build();
httpget httpget = new httpget("http://www.example.com");
httpget.setconfig(requestconfig);
httpresponse response = httpclient.execute(httpget);
node.js配置代理ip:
javascript
const https = require('https');
const proxy = 'http://username:password@proxy-host:port';
const options = {
hostname: 'example.com',
port: 443,
path: '/path/to/resource',
method: 'get',
headers: {
'proxy-authorization': `basic ${buffer.from(`${username}:${password}`).tostring('base64')}`,
'user-agent': 'nodejs-client'
}
};
const req = https.request(options, (res) => {
console.log(`statuscode: ${res.statuscode}`);
});
req.on('data', (d) => {
process.stdout.write(d);
});
req.end();
ruby配置代理ip:
ruby
require 'net/http'
uri = uri('http://example.com')
proxy_uri = uri('http://proxy-host:port')
proxy = net::http::proxy.new(proxy_uri.host, proxy_uri.port)
req = net::http::get.new(uri.request_uri)
req.proxy = proxy
res = net::http.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
golang配置代理ip:
go
import (
"net/http"
"net/url"
)
func main() {
client := &http.client{
transport: &http.transport{
proxy: http.proxy,
},
}
resp, err := client.get("http://www.example.com")
if err != nil {
log.fatal(err)
}
defer resp.body.close()
}
㈢ 利用php怎麼獲取用戶ip
php獲取用戶真實ip的方法:
方法1:
//獲取remote_addr屬性,直接可以得到ip
$ip = $_server["remote_addr"];
echo $ip;
方法2:
//從server中獲取http_via,如果獲取到就用http_x_forwarded_for的值替換,如果獲取不到就取remote_addr的值。
$user_ip = ($_server["http_via"]) ? $_server["http_x_forwarded_for"] :
$_server["remote_addr"];
$user_ip = ($user_ip) ? $user_ip : $_server["remote_addr"];
echo $user_ip;
方法3:
function getrealip()
{
$ip=false; //初始化ip為false
if(!empty($_server["http_client_ip"])){ //如果http_client_ip不為空
$ip = $_server["http_client_ip"]; //獲取http_client_ip的值
}
if (!empty($_server['http_x_forwarded_for'])) { //如果http_x_forwarded_for不為空
$ips = explode (", ", $_server['http_x_forwarded_for']);
//把http_x_forwarded_for的值用,分割後存放數組ips
if ($ip) { array_unshift($ips, $ip); $ip = false; }//遍歷處理
for ($i = 0; $i < count($ips); $i ) {
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
$ip = $ips[$i]; //獲得真實ip
break;
}
}
}
return ($ip ? $ip : $_server['remote_addr']);
}
echo getrealip();