服务器错误:“获取http://127.0.0.1:8081”导致“ 503服务不可用”响应:

时间:2019-05-15 17:19:24

标签: php node.js laravel guzzle

我正在尝试为我的网站构建一个reccomendationn引擎。我正在使用PHP与Laravel作为后端。我想构建一个recomendation引擎,所以我决定为其使用Node .....

nodejs推荐引擎使用GER并产生推荐。 localhost:8081 在我的浏览器中,我得到了完全的期望。我的网站在localhost:8000上运行,因此我需要将localhost:8081的建议引入`localhost:8000 / reccomendations'。为此,我决定使用 Guzzle

这是我在laravel中的控制器(一部分):

//RECCOMMENDATION SYSTEM

    public function showReccPosts(){
        $person='alice';

        //The URL you want to send a cURL proxy request to.
        $client = new Client();
        $request = $client->get('http://127.0.0.1:8081', [
            'config' => [
                'curl' => [
                    'CURLOPT_PROXY' => 'asoju.unilag.edu.ng:3128',
                    'CURLOPT_HTTPPROXYTUNNEL' => 1,
                ]
               ]
            ]);
        $result = $request->getBody()->getContents();

       return view('reccomended.index',compact('result'));

    }

如果我在google.com之类的外部网站上进行尝试,则效果很好。 但是,如果我尝试使用127.0.0.1:8000进行操作,则会出现此错误:

GuzzleHttp \ Exception \ ServerException (503)
Server error: `GET http://127.0.0.1:8081` resulted in a `503 Service Unavailable` response: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head> <meta type="copy (truncated...)

我不知道发生了什么。503是一般性错误消息。

1 个答案:

答案 0 :(得分:0)

我不得不告诉curl忽略代理,如:

        // Get cURL resource
$curl = curl_init();
// Set some options - we are passing in a useragent too here
curl_setopt_array($curl, [
    CURLOPT_URL => "http://localhost:8080/?name=$name",
    CURLOPT_PROXY => '',//IGNORE THE PROXY THAT IS NORMALLY USED FOR INTERNET ACCESS
]);
// Send the request & save response to $resp
$results = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);