解决使用CURL出现code ERROR 60错误的问题


今天用CURL调用和风天气的API,(本来想用file_get_cntent()的,但是听说curl好用..就去试试了,也可以写爬虫什么的,确实好用)

CURL,

在调用下面这段代码的时候,显示code error 60;(本来没显示,然后调用了curl_errno把错误打印出来)

<?php
header('Content-type:text/html;charset=utf-8');
$apikey = 'e336a10507a04e2389608905XXXXXXX';
$city = 'beijing';
$url = "https://free-api.heweather.com/v5/now?city=".$city."&hl=zh-cn"."&key=".$apikey;
$ch = curl_init();
//curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch,CURLOPT_URL,$url);//设置访问网页的URL,执行http请求
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);//下载后不进行显示和打印,先进行处理
$res = curl_exec($ch);//res,然后来进行处理

//echo str_replace("温度","温度吧...",$res);//替换下载好的数据
if(!curl_errno($ch)){
	echo $res;
} else{
	echo 'CURL ERROR: '.curl_errno($ch);
}
curl_close($ch);


然后参考了stackoverflow上面这位小哥的解决方案,

方法如下:

1.到https://curl.haxx.se/ca/cacert.pem复制下文本粘贴到文件夹cart.pem

然后把catr.pem放到php的bin目录下


2.在php.ini中修改下面这句话,把前面分号删掉,分号是省略,然后后面天上自己cacert.pem文件的路径,重启wamp,这样就可以了

curl.cainfo = "F:\PHP\wamp64\bin\php\php5.6.16\cacert.pem"
(如果有wamp或者lamp可以直接调出来,没有的话可以到apache的bin目录下找,我的是F:\PHP\wamp64\bin\apache\apache2.4.17\bin)


另外:如果出现"解决为将对象引用设置到对象的实例"的问题,可以用下面这句话解决;
curl_setopt($curlobj, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

和风天气API:
http://docs.heweather.com/224326   说明文档
http://apistore.baidu.com/apiworks/servicedetail/880.html  之前在百度api store上架的,也有示例代码,好像被下了还是开始收费了,现在只能到官网上用.



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 PHP 中,curl 错误号是通过 curl_errno 函数来获取的,具体对应关系如下: - 0:没有错误发生 - 1:CURLE_UNSUPPORTED_PROTOCOL(不支持的协议) - 2:CURLE_FAILED_INIT(初始化失败) - 3:CURLE_URL_MALFORMAT(URL 格式错误) - 4:CURLE_URL_MALFORMAT_USER(URL 格式错误) - 5:CURLE_COULDNT_RESOLVE_PROXY(无法解析代理) - 6:CURLE_COULDNT_RESOLVE_HOST(无法解析主机) - 7:CURLE_COULDNT_CONNECT(无法连接) - 8:CURLE_FTP_WEIRD_SERVER_REPLY(FTP 服务器返回异常) - 9:CURLE_REMOTE_ACCESS_DENIED(访问被拒绝) - 11:CURLE_FTP_WEIRD_PASS_REPLY(FTP 密码返回异常) - 13:CURLE_FTP_WEIRD_PASV_REPLY(FTP PASV 返回异常) - 14:CURLE_FTP_WEIRD_227_FORMAT(FTP 227 返回格式异常) - 15:CURLE_FTP_CANT_GET_HOST(FTP 无法获取主机) - 17:CURLE_FTP_COULDNT_SET_TYPE(FTP 无法设置传输类型) - 18:CURLE_PARTIAL_FILE(部分文件下载) - 19:CURLE_FTP_COULDNT_RETR_FILE(FTP 无法获取文件) - 20:CURLE_QUOTE_ERROR(FTP 命令错误) - 21:CURLE_HTTP_RETURNED_ERROR(HTTP 返回错误) - 22:CURLE_WRITE_ERROR(写入错误) - 23:CURLE_UPLOAD_FAILED(上传失败) - 25:CURLE_UPLOAD_FAILED(远程服务器不支持请求的FTP操作) - 26:CURLE_READ_ERROR(读取错误) - 27:CURLE_OUT_OF_MEMORY(内存不足) - 28:CURLE_OPERATION_TIMEDOUT(操作超时) - 30:CURLE_FTP_PORT_FAILED(FTP 端口失败) - 31:CURLE_FTP_COULDNT_USE_REST(FTP 无法使用 REST 命令) - 33:CURLE_RANGE_ERROR(服务器不支持或无法满足 Range 请求头字段) - 34:CURLE_HTTP_POST_ERROR(HTTP POST 错误) - 35:CURLE_SSL_CONNECT_ERROR(SSL 连接错误) - 36:CURLE_BAD_DOWNLOAD_RESUME(下载恢复错误) - 37:CURLE_FILE_COULDNT_READ_FILE(无法读取文件) - 38:CURLE_LDAP_CANNOT_BIND(LDAP 无法绑定) - 39:CURLE_LDAP_SEARCH_FAILED(LDAP 搜索失败) - 41:CURLE_FUNCTION_NOT_FOUND(找不到指定的函数) - 42:CURLE_ABORTED_BY_CALLBACK(被回调函数中止) - 43:CURLE_BAD_FUNCTION_ARGUMENT(调用函数时传入了不正确的参数) - 45:CURLE_INTERFACE_FAILED(CURL 接口失败) - 47:CURLE_TOO_MANY_REDIRECTS(重定向次数过多) - 48:CURLE_UNKNOWN_OPTION(未知选项) - 49:CURLE_TELNET_OPTION_SYNTAX(TELNET 选项语法错误) - 51:CURLE_PEER_FAILED_VERIFICATION(SSL 证书验证失败) - 52:CURLE_GOT_NOTHING(没有收到数据) - 53:CURLE_SSL_ENGINE_NOTFOUND(SSL 引擎未找到) - 54:CURLE_SSL_ENGINE_SETFAILED(SSL 引擎设置失败) - 55:CURLE_SEND_ERROR(发送数据错误) - 56:CURLE_RECV_ERROR(接收数据错误) - 58:CURLE_SSL_CERTPROBLEM(SSL 证书问题) - 59:CURLE_SSL_CIPHER(SSL 密码问题) - 60CURLE_SSL_CACERT(SSL CA 证书问题) - 61:CURLE_BAD_CONTENT_ENCODING(不支持的内容编码) - 62:CURLE_LDAP_INVALID_URL(LDAP URL 无效) - 63:CURLE_FILESIZE_EXCEEDED(文件大小超出限制) - 64:CURLE_USE_SSL_FAILED(使用 SSL 失败) - 65:CURLE_SEND_FAIL_REWIND(发送失败,需要回滚) - 66:CURLE_SSL_ENGINE_INITFAILED(SSL 引擎初始化失败) - 67:CURLE_LOGIN_DENIED(登录被拒绝) - 68:CURLE_TFTP_NOTFOUND(TFTP 文件未找到) - 69:CURLE_TFTP_PERM(TFTP 权限问题) - 70:CURLE_REMOTE_DISK_FULL(远程磁盘已满) - 71:CURLE_TFTP_ILLEGAL(TFTP 操作非法) - 72:CURLE_TFTP_UNKNOWNID(TFTP 未知 ID) - 73:CURLE_REMOTE_FILE_EXISTS(远程文件已存在) - 74:CURLE_TFTP_NOSUCHUSER(TFTP 用户不存在) - 75:CURLE_CONV_FAILED(字符转换失败) - 76:CURLE_CONV_REQD(需要字符转换) - 77:CURLE_SSL_CACERT_BADFILE(SSL CA 证书文件格式错误) - 78:CURLE_REMOTE_FILE_NOT_FOUND(远程文件未找到) - 79:CURLE_SSH(SSH 错误) - 80:CURLE_SSL_SHUTDOWN_FAILED(SSL 关闭失败) - 81:CURLE_AGAIN(请求被中止,需要重试) - 82:CURLE_SSL_CRL_BADFILE(SSL CRL 文件格式错误) - 83:CURLE_SSL_ISSUER_ERROR(SSL 发行人错误) - 84:CURLE_FTP_PRET_FAILED(FTP PRET 命令失败) - 85:CURLE_RTSP_CSEQ_ERROR(RTSP CSEQ 错误) - 86:CURLE_RTSP_SESSION_ERROR(RTSP 会话错误) - 87:CURLE_FTP_BAD_FILE_LIST(FTP 文件列表错误) - 88:CURLE_CHUNK_FAILED(传输块失败) - 89:CURLE_NO_CONNECTION_AVAILABLE(没有可用的连接) - 90:CURLE_SSL_PINNEDPUBKEYNOTMATCH(SSL 锁定的公钥不匹配) - 91:CURLE_SSL_INVALIDCERTSTATUS(SSL 证书状态无效) - 92:CURLE_HTTP2_STREAM(HTTP2 流错误) - 93:CURLE_RECURSIVE_API_CALL(递归 API 调用) - 94:CURLE_AUTH_ERROR(身份验证错误) - 95:CURLE_HTTP3(HTTP3 错误) 希望这些信息对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值