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

相关推荐

  • playwrightpython教程(python中class教学)

    技术Python中Playwright怎么用这篇文章将为大家详细讲解有关Python中Playwright怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Playwright是Mi

    攻略 2021年12月20日
  • css中如何改变元素的内填充

    技术css中如何改变元素的内填充本篇内容主要讲解“css中如何改变元素的内填充”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css中如何改变元素的内填充”吧!

    攻略 2021年12月9日
  • 小数数位顺序表,小数数位表中的知识有哪些

    技术小数数位顺序表,小数数位表中的知识有哪些教学内容小数数位顺序表:小数数位表和小数的读写教学目标:1、使学生了解小数的结构、数位顺序,知道小数的组成,加深对小数意义的认识;2、使学生掌握小数的读写方法,能正确地读写一个

    生活 2021年10月29日
  • MySQL Index Condition Pushdown(ICP)的使用限制有哪些

    技术MySQL Index Condition Pushdown(ICP)的使用限制有哪些小编给大家分享一下MySQL Index Condition Pushdown(ICP)的使用限制有哪些,希望大家阅读完这篇文章之

    攻略 2021年11月3日
  • 如何分析Vue2cube-ui时间选择器

    技术怎么解析Vue2 cube-ui时间选择器这篇文章给大家介绍怎么解析Vue2 cube-ui时间选择器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言vue2 整合 cube-ui 时间选择器

    攻略 2021年12月20日
  • Sqlview动态发布地图图层的方法是什么

    技术Sqlview动态发布地图图层的方法是什么Sqlview动态发布地图图层的方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.SQL Views

    攻略 2021年11月30日