php显示ip
㈠ 可否在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.ProxyURL(&url.URL{
Scheme: "http",
Host: "username:password@proxy-host:port",
}),
},
}
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();