php实现curl代理访问域名或请求api接口操作代码详解

网站开发中,有时会需要到使用代理方式来访问指定域名或者api接口的需求。

那么遇到该情况,我们要如何的正确通过php的curl来通过代理方式访问或请求到我们需要的数据信息呢?

详细代码如下:

//代理请求数据
function curl_get_request($url){
$timeout = 60;//超时限制
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);//不返回头部信息
curl_setopt($ch, CURLOPT_RETURNTRANSFER,0); //结果是否显示出来,1不显示,0显示
//设置超时时间
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
//判断是否https
if(strpos($url,'https://')!==false){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1"); //代理服务器地址
curl_setopt($ch, CURLOPT_PROXYPORT, 10000); //代理服务器端口
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$data = curl_exec($ch);
$return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$newDataR = json_decode($data,true);
$newDataR['code'] = $return_code;
return $newDataR;
}

注:该代理请求方式是用CURLPROXY_SOCKS5方式。


六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!