1. 为什么我php 用curl_proxy 不生效
这个是PHP的curl的代理模式,这个模式你在使用的时候是需要配合其他的一起使用的。所以单纯说这个没有用还要看你其他的代码怎么写。
希望你可以把代码放上来看看。
2. php怎么访问url,如果访问如果返回true访问失败返回false,不要跳转, 就判断访问是否成
//1.初始化,创建一个新cURL资源
$ch = curl_init();
//2.设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "http://jq.qq.com/?_wv=1027&k=ilOZq5");
curl_setopt($ch, CURLOPT_HEADER, 0);
//3.抓取URL并把它传递给浏览器
curl_exec($ch);
//4.关闭cURL资源,并且释放系统资源
curl_close($ch);
if ( $ch ){
return true;
echo '访问资源成功!';
}else{
return false;
}
3. php curl_exec 返回false 是用来微信公众号开发的,之前没有问题,用了很久了,突然出现这个错误
打印错误信息是在执行完curl_exec才有效,你是不是放在这个函数之前啊
4. 请问下php中如何处理这个curl_exec()的结果
可以使用 empty() 函数,
if ( empty( $data ) ) {
// 为空
} else {
// 不为空
}
如果是其他某种不明原因导致报错,可以用异常机制,
try {
if ( !$data ) { // 这里的条件也可以用其他
throw new Exception ( 'error' );
} else {
echo ' success ';
}
} catch (Exception $e) {
echo ' error ';
}
5. php curl_exec无法返回结果
你要显示是不是需要这个参数,你试试
// 设置curl 参数,要求结果保存到变量中还是输出到屏幕上,false直接输出到屏幕上。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return_data = curl_exec($ch);
curl_close($ch);
var_mp($return_data);
6. curl返回false 解决
我觉得代码没有问题的话,可能是服务器配置或者php的配置这些的问题吧。
把错误提示打开,看有没有报错呢。
7. php,curl老是返回false,这是怎么回事呢
你自己访问下http://www.example.com/index,看看页面是什么内容,是不是有错误
8. PHP CURLOPT_RETURNTRANSFER选项,该如何理解
TRUE to return the transfer as a string of the return value ofcurl_exec() instead of outputting it out directly.
根据php官网解释 如果你设置这个的参数为TRUE
即 curl_exec() 的结果是一个return赋值 也就是你要把它赋值给一个函数
比如 $response = curl_exec();
$response就是一个你curl执行后的string结果
反之如果是false 你的 curl_exec(); 就相当于你设置true的时候 echo $response;
9. curl 返回值false error返回空
这么设置了么curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
10. 在 php curl返回
给你个我写的curl方法。
/**
*curl模拟提交
*@param string $url 网址
*@param array/string $opt 提交参数
*@param string &$header 取回的头信息
*@param string $redirect 是否重定向
*@param boolean $ssl 验证https证书
*@return [type] 返回信息
*/
functioncurl($url,$opt='GET',&$header=null,$redirect=true,$ssl=false){
//初始化
$ch=curl_init($url);
//配置设置
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,$ssl);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,$ssl);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,$redirect);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); #返回结果
curl_setopt($ch,CURLOPT_HEADER,true); #显示协议头
if(is_array($opt)){
//转小写
$opt=array_change_key_case($opt,CASE_LOWER);
//POST
if(isset($opt['type'])&&strtoupper($opt['type'])=='POST'){
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,(isset($opt['data'])?$opt['data']:''));
}
//User-Agent
if(array_key_exists('ua',$opt))
curl_setopt($ch,CURLOPT_USERAGENT,$opt['ua']);
//Header
if(array_key_exists('header',$opt)){
curl_setopt($ch,CURLOPT_HTTPHEADER,(array)$opt['header']);
}
//Cookie
if(array_key_exists('cookie',$opt))
curl_setopt($ch,CURLOPT_COOKIE,$opt['cookie']);
//Referer
if(array_key_exists('referer',$opt))
curl_setopt($ch,CURLOPT_REFERER,$opt['referer']);
}else{
//仅POST
if(strtoupper((string)$opt)=='POST')
curl_setopt($ch,CURLOPT_POST,true);
}
$result=curl_exec($ch);
if(curl_errno($ch)){
$result=curl_error($ch);
}else{
//获取头长度
$length=curl_getinfo($ch,CURLINFO_HEADER_SIZE);
//取出头信息
$header=substr($result,0,$length);
//去掉头信息
$result=substr($result,$length);
}
//释放
curl_close($ch);
return$result;
}