unsplash / unsplash-php

👻 Official PHP wrapper for the Unsplash API
MIT License
415 stars 74 forks source link

Are there any plans to add a proxy option to this? #119

Open nemuki opened 3 years ago

nemuki commented 3 years ago

Hi

Problems

My school has a proxy server, and when I try to use this library there, I get the following error.

PHP Fatal error:  Uncaught GuzzleHttp\\Exception\\ConnectException: cURL error 28: Failed to connect to api.unsplash.com port 443: Connection timed out (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://api.unsplash.com/photos/random?query=snow&w=600&h=400

In the .bashrc, I have written http_proxy and https_proxy, and when I access the API with cURL in the CLI, I can access it successfully.

Solved method

I was able to solve this problem by adding a proxy option to __construct() in HttpClient.php, referring to the Guzzle document.

$this->httpClient = new Client(['handler' => $this->setHandler(self::$connection->getAuthorizationToken()), 'proxy' => 'http://hostname:port');

I don't know much about PHP, so I can't modify the code and submit a pull request. I would like to know if there is a way to add a proxy option to this library or any other way to solve this problem. I'm sorry for my poor English.

Development Environment