GuzzleHttp请求内网竟然超时?(解决)

whoami

问题描述

GuzzleHttp请求内网竟然超时?

已解决,windows只支持单进程,所以没办法webman自己调用自己。linux环境不会出现这种情况。

程序代码或配置

public function test(Request $request)
    {
        return $this->success('', '', 200, ['set-cookie' => ['test1', 'test2']]);
    }
public function test1()
    {
        dump(1);
        $client = new Client();

        $cookies = $client->get("http://192.168.3.104:8080/test", [

            'timeout' => 5,
        ])->getHeader("set-cookie");

        dump($cookies);

        return $this->success($cookies);
    }

重现问题的步骤

截图

截图

操作系统环境及workerman/webman等具体版本

截图

853 3 0
3个回答

tanhongbin

一模一样的问题,我也遇到了,麻了

  • 暂无评论
latin

windows是单进程的,当然不能自己请求自己

  • tanhongbin 2023-06-13

    linux 也是 而且是 不同端口 也不行哈哈

  • whoami 2023-06-13

    linux也测试了,依然不行

  • latin 2023-06-13

    内网超时的话开下安全组端口,如果有用宝塔,宝塔里也要开下端口。
    也可以在服务器上wget http://内网ip:端口 看下通不通。

  • whoami 2023-06-13

    通这呢, webman自己请求自己的接口,会出问题。

whoami

截图

截图

截图

  • latin 2023-06-13

    我感觉你循环调用了,自己调用自己调用自己调用自己...

  • whoami 2023-06-13

    还真是,路由加了个别名,搞错了。

    $cookies = $client->get(request()->host() . route('test'), [
                'timeout' => 5,
            ])->getHeader("set-cookie");

    导致接口调用自己的接口了。

🔝