推荐方法:
DIR="$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)"
其他用$0神码的方法可能会有问题。[......]
PHP如何从服务器端判断客户端的代理类型。
我们假设客户端确实用了代理服务器,则PHP版的写法是:
<?php
$ra = $_SERVER["REMOTE_ADDR"];
$hv = $_SERVER["HTTP_VIA"];
$fwd = $_SERVER["HTTP_X_FORWARDED_FOR"];
/*
fwd = "";
if($_SERVER['HTTP_X_FORWARDED_FOR'])
$fwd = $_SERVER['HTTP_X_FORWARDED_FOR'];
els[......]
透明代理、匿名代理、混淆代理、高匿代理有什么区别?
这4种代理,主要是在代理服务器端的配置不同,导致其向目标地址发送请求时,REMOTE_ADDR, HTTP_VIA,HTTP_X_FORWARDED_FOR三个变量不同。
1、透明代理(Transparent Proxy)
- REMOTE_ADDR = Proxy IP
- HTTP_VIA = Proxy IP
- HTTP_X_FORWARDED_FOR = Your IP
透明代理虽然可以直接“隐藏”你的IP地址,但是还是可以从HTTP_X_FORWARDED_FOR来查[......]
Python中使用 词典+可变参数 简化 初始化+配置 工作
在Python中,是支持可变长参数,甚至词典参数的,具体见 《Python中函数的参数传递与可变长参数》
而使用词典参数的方式,可以让我们节省很多不必要的初始化工作。
以初始化MySQL的conn为例:
Before:
# App Config
DB_HOST = "localhost"
DB_PORT = 3306
DB_NAME = "db"
DB_USER = "coder4"
DB_PASS = "password"
# Init conn
sel[......]
Python中使用selenium抓取Javascript动态页面
selenium是一套用于测试WebUI的自动化测试框架,它通过调用Chrome、Firefox来完成动态页面(含Javascript)的加载,因此也可以用来完成动态网页抓取。
1、下载selenium
wget http://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar
2、启动selenium-standalone
java -jar ./selenium-se[......]