当前位置: 首页 > news >正文

asp化妆品网站阐述网络营销策略的内容

asp化妆品网站,阐述网络营销策略的内容,徐汇网站开发培训班,评论优化背景 开发过程中#xff0c;跟外部接口对接时#xff0c;很常见的要考虑到失败重新的情况#xff0c;这里记录一下我用的失败重试的情况#xff0c; 重试方法 1、使用 Laravel 的 HTTP 客户端和异常处理 结合异常处理和重试逻辑 use Illuminate\Support\Facades\Http;…背景 开发过程中跟外部接口对接时很常见的要考虑到失败重新的情况这里记录一下我用的失败重试的情况 重试方法 1、使用 Laravel 的 HTTP 客户端和异常处理 结合异常处理和重试逻辑 use Illuminate\Support\Facades\Http; use Illuminate\Http\Client\RequestException;try {$response Http::get(http://example.com/api/endpoint);$response-throw(); } catch (RequestException $e) {// 可以根据异常类型或状态码决定是否重试if ($e-response $e-response-status() 500) {// 重试逻辑例如重新发送请求$response Http::get(http://example.com/api/endpoint);} } 2、Guzzle 及其重试中间件 文档地址https://docs.guzzlephp.org/en/stable/quickstart.html#creating-a-client Guzzle 是一个广泛使用的 HTTP 客户端并且有相应的重试中间件可以实现请求失败的重试。 2.1安装扩展 composer require guzzlehttp/guzzle2.2失败重试逻辑 use GuzzleHttp\Client; use GuzzleHttp\HandlerStack; use GuzzleHttp\Handler\CurlHandler; use GuzzleHttp\Middleware; use GuzzleHttp\Psr7\Response;class YourHttpClientClass {// 自定义的重试决策函数public static function retryDecider() {return function ($retries, $request, $response null, $exception null) {if ($retries 3) {return false;}if ($exception instanceof \GuzzleHttp\Exception\ConnectException) {return true;}if ($response) {// 如果请求有响应这里根据自己的业务而定,是否继续重试$res_content $response-getBody()-getContents();$res json_decode($res_content, true);if (isset($res[error])) { // 如果不存在status 更新access_token,再次请求info(接口请求结果: . json_encode($res) . 需要刷新access_token重新请求);self::getProAccessToken($refresh true);return true;}}return false;};}// 自定义的重试延迟函数public static function retryDelay() {return function ($numberOfRetries) {return 1000 * $numberOfRetries; // 延迟 1 秒重试次数越多延迟越长};}public function createClient() {// 创建处理栈并使用 CurlHandler$handlerStack HandlerStack::create(new CurlHandler());// 创建 mapResponse 中间件$mapResponse Middleware::mapResponse(function (Response $response) {$response-getBody()-rewind();return $response;});// 创建重试中间件指定决策者为 retryDecider(),指定重试延迟为 retryDelay()$handlerStack-push($mapResponse);// 创建重试中间件$handlerStack-push(Middleware::retry(self::retryDecider(), self::retryDelay()));// 创建 Guzzle 客户端$http_client new Client([handler $handlerStack,connect_timeout 5, // 连接超时 5 秒钟read_timeout 20, // 读取内容超时 20 秒钟timeout 30, // 总超时 30 秒钟verify true, // 检查 sslhttp_errors false, // 暂时忽略 http 错误但后续需检查状态码force_ip_resolve v4, // 强制使用 IPV4 解析地址headers [Ocp-Apim-Subscription-Key config(jpro.vpcx.api_key) ],]);if (strtolower($method) get) {$options [query $data ];$res $http_client-request(get, $api_url, $options)-getBody()-getContents();} elseif (strtolower($method) post) {$res $http_client-request(post, $api_url, [form_params $data,])-getBody()-getContents();}return $res;} }
http://www.dnsts.com.cn/news/134150.html

相关文章:

  • 17网站一起做网店新塘北京seo公司助力网络营销
  • 网站建设与管理期末考试题网页设计制作心得体会
  • 宁波网站排名优化报价网站后台域名解析怎么做
  • 圣沃工程建设工程公司网站江苏网站seo平台
  • 创建目录wordpress网站建设优化seo
  • 做网站多少钱 优帮云湛江大型网站模板建设
  • 几十个必备的设计师灵感网站php网站页面转wordpress
  • 做网站是学什么编程语言低价高端网站设计
  • 木樨园网站建设东莞排名seo网站关键词优化
  • php网站建设的公司jsp网站建设代码
  • 唯拓网站建设wordpress 外链自动nofflow
  • 网站和系统的哪个容易做邯郸做网站
  • 企业网站建设费用入什么科目wordpress登录破解
  • 优质的广州微网站建设连云港建网站
  • go 是做网站的吗网上房地产官网
  • 美食网站界面设计最近发生的热点新闻事件
  • 和平苏州网站建设wordpress 禁用标
  • 新乡市网站建设有哪些公司wordpress 电商模板
  • 免费快速建站工具氧os哪个网站做的最好
  • 北京医疗机构网站前置审批需要的材料有哪些智能建站系统
  • 广东建设工程网站下载百度卫星导航
  • 自助建站最大怎样上传wordpress模板
  • 西安网站公司建设宣传 网站建设方案模板下载
  • 网站建设营销开场白网站制作模板免费下载
  • 网站开发服务 退款自治区住房和城乡建设厅官网
  • 做网站用哪种编程语言合肥响应式网站建设
  • 上海专业网站建站专业的网站开发建设公司
  • 福田建设网站设计素材网站免费大全最新
  • 域名网站账号济南网站建设工作
  • 长沙建站位找有为太极广大crm系统价格