HTTP 请求开发(PHP)

在 app 中对外进行 http 请求必须使用指定 API 来操作,否则会导致无法访问,app 的容器环境会把访问外部网络的防火墙打开,所以直接访问外部 url 是不通的。

有赞 App 框架提供了 Http 组件来发送 http 请求,具体使用看下面的示例。

代码示例

<?php

namespace YouzanCloudBootApp\Controller;

use Slim\Http\Request;
use Slim\Http\Response;
use YouzanCloudBoot\Component\BaseComponent;
use YouzanCloudBoot\Facades\HttpFacade;

class TestHttpProxyController extends BaseComponent
{

    public function index(Request $request, Response $response, $args)
    {
        $r = HttpFacade::get('http://www.weather.com.cn/data/sk/101010100.html');
        return $response->withJson(['test' => 'proxy']);
    }

}

如上图所示,有赞 App 框架封装了一个 HttpFacade 来进行 http 调用。

统一接出申请

除了代码上需要使用有赞封装的 HttpFacade 进行请求外,还需要去控制台申请统一接出:

image-2018112916283261100

如上图所示,需要去配置管理新增一个统一接出的配置,申请后,运营人员会进行审核,审核通过状态变成生效后,才可以真正访问该地址。