---
name: "Mojo::UserAgent::Proxy"
section: "3pm"
platform: "linux"
package: "libmojolicious-perl"
version: "9.39+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Mojo::UserAgent::Proxy"
---

# Mojo::UserAgent::Proxy(3pm)

User agent proxy manager

## NAME

Mojo::UserAgent::Proxy - User agent proxy manager

## SYNOPSIS

```
  use Mojo::UserAgent::Proxy;
  my $proxy = Mojo::UserAgent::Proxy->new;
  $proxy->detect;
  say $proxy->http;
```

## DESCRIPTION

Mojo::UserAgent::Proxy manages proxy servers for Mojo::UserAgent.

## ATTRIBUTES

Mojo::UserAgent::Proxy implements the following attributes.

### http

```
  my $http = $proxy->http;
  $proxy   = $proxy->http('socks://sri:secret@127.0.0.1:8080');
```

Proxy server to use for HTTP and WebSocket requests.

### https

```
  my $https = $proxy->https;
  $proxy    = $proxy->https('http://sri:secret@127.0.0.1:8080');
```

Proxy server to use for HTTPS and WebSocket requests.

### not

```
  my $not = $proxy->not;
  $proxy  = $proxy->not(['localhost', 'intranet.mojolicious.org']);
```

Domains that don't require a proxy server to be used.

## METHODS

Mojo::UserAgent::Proxy inherits all methods from Mojo::Base and implements the following new ones.

### detect

```
  $proxy = $proxy->detect;
```

Check environment variables `"HTTP_PROXY"`, `"http_proxy"`, `"HTTPS_PROXY"`, `"https_proxy"`, `"NO_PROXY"` and `"no_proxy"` for proxy information. Automatic proxy detection can be enabled with the `"MOJO_PROXY"` environment variable.

### is\_needed

```
  my $bool = $proxy->is_needed('intranet.example.com');
```

Check if request for domain would use a proxy server.

### prepare

```
  $proxy->prepare(Mojo::Transaction::HTTP->new);
```

Prepare proxy server information for transaction.

## SEE ALSO

Mojolicious, Mojolicious::Guides, \<https://mojolicious.org\>.
