使用php curl出现的一点问题

1,首先建立文件夹mkdir("冰箱");结果发现文件夹可以建立,但是乱码!
解决方案:iconv,如下:

if(mkdir(iconv("UTF-8", "GBK", "冰箱"),0777,true)){
	   echo "dir '冰箱' make success!";
	 }

另外使用fopen的时候出现中文也会出现问题,同样可以使用iconv来解决:
$fp = fopen(iconv("UTF-8", "GBK", "冰箱")."/example_homepage.txt", "w");  


 2,使用
//$urls=urldecode("http://local.test.com/艾美特-取暖器/暖风机/20370/cityId=9173&cf=brand_Name_FacetAll:艾美特&cp=0");
	 $urls="http://local.test.com/%E8%89%BE%E7%BE%8E%E7%89%B9-%E5%8F%96%E6%9A%96%E5%99%A8/%E6%9A%96%E9%A3%8E%E6%9C%BA/20370/cityId=9173&cf=brand_Name_FacetAll:%E8%89%BE%E7%BE%8E%E7%89%B9&si=5&st=14&cp=0";
	// var_dump($urls);
	 curl_setopt($ch, CURLOPT_URL, $urls);
	 curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
返回的结果为空,开始以为url中的中文有问题,结果用命令行curl进行获取,可以成功。然后加了urlencode之后,还是为空,得不到数据。
返回header中显示为403拒绝访问。
解决方案如下:增加User_Agent!
 $User_Agent = "baiduspider+(+http://www.baidu.com/search/spider.htm)";$Referer_Url = 'http://www.chinaz.com/'; $ch=curl_init(); //$urls=urldecode("http://local.test.com/艾美特-取暖器/暖风机/20370/cityId=9173&cf=brand_Name_FacetAll:艾美特&cp=0"); $urls="http://local.test.com/%E8%89%BE%E7%BE%8E%E7%89%B9-%E5%8F%96%E6%9A%96%E5%99%A8/%E6%9A%96%E9%A3%8E%E6%9C%BA/20370/cityId=9173&cf=brand_Name_FacetAll:%E8%89%BE%E7%BE%8E%E7%89%B9&si=5&st=14&cp=0";// var_dump($urls); curl_setopt($ch, CURLOPT_URL, $urls); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_USERAGENT, $User_Agent); curl_setopt($ch, CURLOPT_REFERER, $Referer_Url); // curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_HEADER, 1); $data=curl_exec($ch); var_dump(curl_error($ch)); if($data){ echo $data; }else{ echo 'can not get the data!'; }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值