如何模拟请求工具curl的异常处理

技术如何模拟请求工具curl的异常处理小编给大家分享一下如何模拟请求工具curl的异常处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!日常开

边肖想和大家分享如何模拟请求工具curl的异常处理。相信大部分人还是不太了解。因此,我想分享这篇文章供你参考。希望你看完这篇文章后收获多多。让我们一起来看看。

在日常开发过程中,有很多场景使用curl来模拟请求。当进行跨站点请求时,其他网站的稳定性无法保证。

当其他网站无法顺利访问时,会影响当前的业务系统,不容易排查问题,需要异常处理。

privatefunctioncurlPost(字符串$route,数组$postData):数组

{

尝试{

//向任务队列发送消息。

$url=env('API_URL ')。$ route

//初始化。

$ curl=curl _ init();

//将url设置为爬网。

curl_setopt($curl,CURLOPT_URL,$ URL);

//设置头文件信息作为数据流输出。

curl_setopt($curl,CURLOPT_HEADER,false);

//将获取的信息设置为以文件流的形式返回,而不是直接输出。

curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);

//设置帖子提交模式。

curl_setopt($curl,CURLOPT_POST,true);

//设置帖子数据。

curl_setopt($curl,CURLOPT _ POSTFIELDS,$ post data);

//$ user agent=' Mozilla/5.0(windowsnt 6.1;WOW64)applebwebkit/537.36(KHTML,likeGecko)Chrome/29 . 0 . 1547 . 66 safari/537.36 ';//模拟windows用户的正常访问。

//curl_setopt($curl,CURLOPT_USERAGENT,$ user agent);

//执行命令。

$ output=curl _ exec($ curl);

//获取错误代码。

$ CUlRRNo=curl _ errno($ CUlR);

if($ CRILRno){ 0

thrownew exception(curl _ error($ curl))。'('.$ curlErrno。')');

}

//关闭URL请求。

curl _ close($ curl);

$result=json_decode($output,true);

$ result[' curl _ status ']=1;

$ result[' curl _ message ']=' ';

}捕获(\异常$ e){ 0

$ result[' curl _ status ']=0;

$ result[' curl _ message ']=$ e-Getmessage();

}

返回$ result

}//通话。

$result=$this-curlPost($route,$ post data);

//验证curl是否正常发送。

if(!$ result[' curl _ status ']){ 0

返回$ this-returnError($ result[' curl _ message ']);

}

//验证业务。

if($ result[' error code ']==0){ 0

返回$ this-returnSuccess([]);

}else{

返回$ this-returnError($ result[' Errormsg ']);

}卷曲相关函数。

国际curl_errno

(资源$ch

)返回上一次cURL操作的错误代码。

如果没有错误发生,则返回错误代码或0(零)。

弦乐curl_error

(资源$ch

)返回最近一次cURL操作的文本错误详细信息。

这就是文章“如何模拟请求工具curl的异常处理”的全部内容。感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/36823.html

(0)

相关推荐

  • Java多线程中Callable、Future和FutureTask是什么意思

    技术Java多线程中Callable、Future和FutureTask是什么意思小编给大家分享一下Java多线程中Callable、Future和FutureTask是什么意思,相信大部分人都还不怎么了解,因此分享这篇

    攻略 2021年10月31日
  • c1驾照几年审一次,驾照c本,多久年检一次啊

    技术c1驾照几年审一次,驾照c本,多久年检一次啊驾照c本在换证时才需要年检c1驾照几年审一次。 根据《机动车驾驶证申领和使用规定》:
    第七十条 机动车驾驶人应当按照法律、行政法规的规定,定期到公安机关交通管理部门接受审

    生活 2021年10月28日
  • MVC3如何自定义注解验证字符长度

    技术MVC3如何自定义注解验证字符长度这篇文章主要介绍MVC3如何自定义注解验证字符长度,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!自定义注解(验证字符长度)需要继承ValidationAttr

    攻略 2021年11月23日
  • 如何清洗,如何清洁饮水机才最干净

    技术如何清洗,如何清洁饮水机才最干净饮水机使用长了,就会有很多的污垢,容易产生细菌,那么如何清洗呢如何清洗?现在我来教给大家,希望能帮到您::第一步:断开饮水机的电源,把饮水机中残留的水放干净,一般饮水机后面都有放水口,

    生活 2021年10月28日
  • mysql的sql脚本如何导入sql中(mysql客户端导入大sql文件到表)

    技术mysql如何实现导入大的sql脚本这篇文章将为大家详细讲解有关mysql如何实现导入大的sql脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.首先 导入sql文件:sour

    攻略 2021年12月20日
  • 铁的质量分数,四氧化三铁的原子质量分数

    技术铁的质量分数,四氧化三铁的原子质量分数解答(1)相对分子质量=相对原子质量与相应原子个数的乘积和铁的质量分数,则四氧化三铁的相对分子质量=56×3+16×4=232;(2)某元素质量分数═该原子的相对原子质量×该原子

    生活 2021年10月29日