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遍历数组的方法汇总分析

1. foreach()foreach()是一个用来遍历数组中数据的最简单有效的方法。#example1:复制代码 代码如下:<?php$colors= array('red','...

PHP滚动日志的代码实现

PHP滚动日志类库 PHP记录日志,我之前接触过的有按照年月分文件夹,然后按照日分文件的日志记录方式,这种方式有利有弊,有他的使用场景,我今天要说的是另一种日志记录方式——文件滚动方式记...

PHP延迟静态绑定的深入讲解

前言 所谓延迟静态绑定,顾名思义,静态调用时::符号左侧的部分的的绑定是延迟,也就是说不再被解析为定义当前方法所在的类,而是在实际运行时计算的。本文主要介绍了关于PHP延迟静态绑定的相关...

php实现在新浪云中使用imagick生成缩略图并上传的方法

本文实例讲述了php实现在新浪云中使用imagick生成缩略图并上传的方法。分享给大家供大家参考,具体如下: imagick是一款php的图像处理插件了我们可以使用imagick来进行许...

php读取文件内容的三种可行方法示例介绍

php读取文件内容的三种方法: //**************第一种读取方式***************************** 复制代码 代码如下: header("conte...