php中用于检测一个地理IP地址是否可用的代码

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

/********************************************
*
* 函数名:curl_string ($url,$proxy)
* 作 用:检测代理IP地址
* 作 者:李飞麟
* 日 期:2011-11-09
*
********************************************/
function curl_string ($url,$proxy)
{
$user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh- CN; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 FirePHP/0.2.1";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_PROXY, $proxy);
curl_setopt ($ch, CURLOPT_URL, $url);//设置要访问的IP
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);//模拟用户使用的浏览器
@curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 ); // 使用自动跳转
curl_setopt ( $ch, CURLOPT_TIMEOUT, 120 ); //设置超时时间
curl_setopt ( $ch, CURLOPT_AUTOREFERER, 1 ); // 自动设置Referer

curl_setopt ($ch, CURLOPT_COOKIEJAR, 'c:\cookie.txt');
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_TIMEOUT, 10);
$result = curl_exec($ch);
// Check if any error occured
if( $result === false)
{
error_log(date("H:i:s") . ' Curl 失败: ' . curl_error($ch) ." -- ". $proxy."\n", 3, MYMEDIA.'/log/'.date('Y-m-d').'_Err.log');
}else{
error_log(date("H:i:s") . ' Curl 成功: ' . $proxy."\n", 3, MYMEDIA.'/log/'.date('Y-m-d').'_OK.log');
}
curl_close($ch);
return $result;
}

相关文章

php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法

说是已经有输出,用编辑器打,前面明明什么都没有,原来在使用AJAX的 时候,也出现过这种情况,后来,把这个PHP文件放到linux中打开,会发现,在文件的最前面,会出现“锘 ”这样的一个...

php中文字符串截取多种方法汇总

1. 截取GB2312中文字符串 <?php < ?php //截取中文字符串 function mysubstr($str, $start, $le...

PHP程序员不应该忽略的3点

最近发现很多的PHP程序员,尤其是学习还不是很久的,都不知道PHP的精华所在。Perl当年如何在商界出名?其强大的正则表达式。而PHP呢?他是一门从Unix下发展起来的语言,当然也就继承...

php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系

ksort()定义和用法 ksort() 函数按照键名对数组升序排序,为数组值保留原来的键。 可选的第二个参数包含附加的排序标志。 若成功,则返回 TRUE,否则返回 FALSE。 语法...

采用PHP函数memory_get_usage获取PHP内存清耗量的方法

一,函数原型 int memory_get_usage ([ bool $real_usage = false ] ) 二,版本兼容 PHP 4 >= 4.3.2, PHP 5 三...