php curl 用代理访问,服务器可以,本地不行

php中文网
发布: 2016-06-23 13:44:57
原创
2253人浏览过

测试用 curl代理访问,在服务器测试可行,本地却显示空白的,请教下是什么情况,代理ip是网上找的,可用

function curl_string ($url,$user_agent,$proxy){       $ch = curl_init();       curl_setopt ($ch, CURLOPT_PROXY, $proxy);       curl_setopt ($ch, CURLOPT_URL, $url);       curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);       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, 120);       $result = curl_exec ($ch);       curl_close($ch);       return $result;}$url = "http://www.baidu.com";$user_agent = "Mozilla/4.0";$proxy = "http://111.13.109.53:80";$string = curl_string($url,$user_agent,$proxy);echo $string; 
登录后复制

DM建站系统律师事务所HTML5网站模板1.7
DM建站系统律师事务所HTML5网站模板1.7

DM建站系统律师事务所HTML5网站模板, DM企业建站系统。是由php+mysql开发的一套专门用于中小企业网站建设的开源cms。DM系统的理念就是组装,把模板和区块组装起来,产生不同的网站效果。可以用来快速建设一个响应式的企业网站( PC,手机,微信都可以访问)。后台操作简单,维护方便。DM企业建站系统安装步骤:第一步,先用phpmyadmin导入sql文件。 第二步:把文件放到你的本地服务器

DM建站系统律师事务所HTML5网站模板1.7 0
查看详情 DM建站系统律师事务所HTML5网站模板1.7

回复讨论(解决方案)

//数据发送function curl_post($api_server, $request, $proxy = 0,$header=array()) {	$ch = curl_init ( $api_server );	curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'POST' );	if(is_array($header) && !empty($header)){		curl_setopt ( $ch, CURLOPT_HEADER, 1 ); //设置header		curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );	}	curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );	curl_setopt ( $ch, CURLOPT_POSTFIELDS, $request ); // $request=json	if ($proxy) {		//通过代理请求		$API_CURLOPT_PROXY = "代理IP";		curl_setopt ( $ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP );		curl_setopt ( $ch, CURLOPT_PROXY, $API_CURLOPT_PROXY );	}	$result = curl_exec ( $ch );	$curl_errno = curl_errno ( $ch );	$curl_code = curl_getinfo ( $ch, CURLINFO_HTTP_CODE ); // 获取http返回值	curl_close ( $ch );	if ($curl_code == 200) {		return $result;	} else {		return FALSE;	}}
登录后复制

本地又没代理

错误时超时么?我也发生过这类问题,是超时,如果你也是这错误,我倒是可以提点建议

//数据发送function curl_post($api_server, $request, $proxy = 0,$header=array()) {	$ch = curl_init ( $api_server );	curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'POST' );	if(is_array($header) && !empty($header)){		curl_setopt ( $ch, CURLOPT_HEADER, 1 ); //设置header		curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );	}	curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );	curl_setopt ( $ch, CURLOPT_POSTFIELDS, $request ); // $request=json	if ($proxy) {		//通过代理请求		$API_CURLOPT_PROXY = "代理IP";		curl_setopt ( $ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP );		curl_setopt ( $ch, CURLOPT_PROXY, $API_CURLOPT_PROXY );	}	$result = curl_exec ( $ch );	$curl_errno = curl_errno ( $ch );	$curl_code = curl_getinfo ( $ch, CURLINFO_HTTP_CODE ); // 获取http返回值	curl_close ( $ch );	if ($curl_code == 200) {		return $result;	} else {		return FALSE;	}}
登录后复制

本地又没代理



这个方法测试了,还是显示空白

错误时超时么?我也发生过这类问题,是超时,如果你也是这错误,我倒是可以提点建议



不是超时,是执行结果为空白,啥都没

111.13.109.53 北京市 移动
ping 不通
访问 http://111.13.109.53:80 报不存在

显然是一个受保护的 ip

访问受保护的ip肯定不行的,这个ip确实ping不通

localhost:devbox lijunpeng$ ping 111.13.109.53 PING 111.13.109.53 (111.13.109.53): 56 data bytesRequest timeout for icmp_seq 0Request timeout for icmp_seq 1Request timeout for icmp_seq 2Request timeout for icmp_seq 3
登录后复制

111.13.109.53 北京市 移动
ping 不通
访问 http://111.13.109.53:80 报不存在

显然是一个受保护的 ip



这个是代理用的ip,在服务器上使用是有效的,可以获得目标地址的内容,在本机使用显示空白页,获取不到

访问受保护的ip肯定不行的,这个ip确实ping不通



访问的是百度,那个ip是代理用的ip.

代理ip都ping不通你怎么可能根据代理来访问百度呢?

这个ip要不就是你服务器的一个内网ip

本地curl开启了吗?

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号