如何模拟请求工具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)

相关推荐

  • gitlab关闭ssl验证(gitlab 扫描)

    技术仍然会使用eolinker扫描GitLab代码注释自动本篇文章给大家分享的是有关仍然会使用eolinker扫描GitLab代码注释自动,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不

    攻略 2021年12月24日
  • Python怎么爬取当当网APP数据

    技术Python怎么爬取当当网APP数据本篇文章给大家分享的是有关Python怎么爬取当当网APP数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。目标场景

    攻略 2021年10月26日
  • CentOS 7.3上SQL Server vNext CTP 1.2如何安装

    技术CentOS 7.3上SQL Server vNext CTP 1.2如何安装这篇文章给大家分享的是有关CentOS 7.3上SQL Server vNext CTP 1.2如何安装的内容。小编觉得挺实用的,因此分享

    攻略 2021年11月15日
  • C++ I/O 类

    技术C++ I/O 类 C++ I/O 类I/O 类
    ?
    C++ 不直接处理输入输出, 而是通过一组定义在标准库中的类型来处理 I/O . 这些类型支持从设备读取数据, 向设备写入数据的 I/O 操作,

    礼包 2021年11月5日
  • 如何掌握Spring

    技术如何掌握Spring这篇文章主要讲解了“如何掌握Spring”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何掌握Spring”吧!Spring 是一个控制反转依赖管

    攻略 2021年10月20日
  • 一天饮水量多少毫升,健康人一天的需水量是多少

    技术一天饮水量多少毫升,健康人一天的需水量是多少水分约占到人体体重的2/3,是构成身体的主要成分,而且大部分器官的生理活动都要在液体环境下才能进行,所以,水对于人体至关重要一天饮水量多少毫升。人体需要多少水?人体每天通过

    生活 2021年10月27日