R's curl-pakke bruger libcurl. En proxy fra procesmiljøet kan derfor gælde, selv når curl_fetch_memory ikke har noget proxy-argument i kaldet:

Sys.setenv(ALL_PROXY = "http://proxy.example:8080")
result <- curl::curl_fetch_memory("https://www.example.org/")

Angiv miljøet, før forespørgslen forberedes. Brug et fuldt endepunkt, inklusive det tilsigtede scheme og port, i stedet for at antage at et bart værtsnavn betyder den rigtige protokol. For tilladte forespørgsler til offentlige websteder leverer HTTP-proxylisten kandidater til eksemplernes HTTP-proxy-URL'er.

ALL_PROXY er en reservevej. En proxy-miljøvariabel for destinationens protokol har forrang, og en matchende NO_PROXY-omgåelse kan stadig vælge en direkte forbindelse. Undersøg de værdier, når det ser ud til, at ændring af ALL_PROXY ingen effekt har.

For en rute, der hører til ét handle, skal du konfigurere den eksplicit:

handle <- curl::new_handle(proxy = "http://proxy.example:8080")
result <- curl::curl_fetch_memory(
  "https://www.example.org/", handle = handle
)

Handle'ets proxy-indstilling tilsidesætter valget af miljøproxy; omgåelsespolitikken er stadig relevant. En eksplicit tom proxy-indstilling deaktiverer brug af proxy, selv når en proxy-miljøvariabel findes.

Disse indstillinger påvirker den kørende R-proces og curls forespørgsler. At starte en anden R-session eller bruge en pakke med en anden netværksimplementering kan give en anden rute.

Relaterede artikler