首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >yii2 2-具有基本Auth和代理设置的httpclient

yii2 2-具有基本Auth和代理设置的httpclient
EN

Stack Overflow用户
提问于 2016-08-12 09:10:17
回答 1查看 4.4K关注 0票数 3

在我的Yii2应用程序中,我尝试从REST中读取数据,REST受保护。另外,需要一个代理来控制REST。因此,我选择了Yii模块来处理这个调用:

代码语言:javascript
运行
复制
$client = new Client(['baseUrl' => 'http://my.example.com']);
$response = $client->createRequest()
        ->setMethod('get')
        ->setUrl('api/session')
        ->addHeaders(['Authorization' => 'Basic '.base64_encode("user:password")])
        ->setOptions([
            'proxy' => 'proxy.server:8000',
            'timeout' => 5, 
        ]);

运行这段代码,我将从服务器获得一条Bad URL in proxy request错误消息。但是,如果我将URL从代码复制到浏览器(浏览器也连接到代理),一切都会正常运行:Basic窗口出现了。

设置标头的Authorization标记时是否有错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-12 09:16:56

在为这个问题工作了一天之后,在找到了答案。在问完我的问题后的一分钟,但我想把这个问题保留在这样的情况下,那就是有人有同样的问题。

答: yii2 httpclient使用两个不同的传输库: (它没有额外的扩展并设置为默认)和cURL。

切换到cURL作为“传输类型”,上面的代码工作得很好!

代码语言:javascript
运行
复制
$this->client = new Client([
            'baseUrl' => 'http://my.example.com',
            'transport' => 'yii\httpclient\CurlTransport'])
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38914180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档