libcurl setur proxy-uppsetingina á tað easy handle, sum flytir. Set adressuna hjá millumliðnum á tað handle, meðan CURLOPT_URL verður verandi mál-URL.

Fylgjandi brot gongur út frá, at libcurl er byrjað og at handle er galdandi easy handle:

char error[CURL_ERROR_SIZE] = {0};
CURLcode result;

result = curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, error);
if (result == CURLE_OK)
    result = curl_easy_setopt(handle, CURLOPT_URL,
                              "https://example.com/");
if (result == CURLE_OK)
    result = curl_easy_setopt(handle, CURLOPT_PROXY,
                              "http://proxy.example:8080");
if (result == CURLE_OK)
    result = curl_easy_perform(handle);

if (result != CURLE_OK)
    fprintf(stderr, "%s\n", error[0] ? error
                                  : curl_easy_strerror(result));

Halt villubuffurin livandi, meðan handle vísir á hann. Áðrenn tú gongur út úr økinum, rudda handle ella skift um ella strika CURLOPT_ERRORBUFFER-peikaran. Proxy-vertarnaðnið er eitt staðarhaldaraorð; ein ósamførdur kandidat úr HTTP-proxy-listuni kann gera adressuna fyri hetta almennu síðu-próvið. Nýt veruliga skeið og port, og kanna, um hon letur HTTPS-tunnilin gjøgnum.

Eitt HTTPS-mál kann nýta ein HTTP-proxy. libcurl røkir tunnilin fyri ta HTTPS-flutningin. http:// í proxy-valmøguleikanum lýsir sambandið við millumliðið. Broyt tað til https:// bara fyri eitt proxy-endapunkt, sum veruliga tekur ímóti TLS, og eina libcurl-bygging, sum stuðlar tí.

Ger tann virkandi leiðin viljandi

Ein greiður proxy-valmøguleiki yvirtekur samsvarandi proxy-umhvørvisstilling. At sleppa framvið er ein serstøk avgerð: eitt arvað no_proxy kann framvegis halda málinum burtur. Um hetta handle skal nýta tann valda proxyin fyri hvørt mál, tað fær, set CURLOPT_NOPROXY upp sum tóman streng sum part av tí politikkini.

Hinvegin, at seta CURLOPT_PROXY til ein tóman streng sløkkir greitt fyri proxy-ýtslu. At seta tað til NULL tekur greiðu tillutan burtur og letur aftur umhvørvisgrundaða atferð. Hesir tveir virðir tæna ymiskum endamálum.

Ein máldeyvur header sum Content-Type: text/xml velur ikki proxyin. Set hann bara afturat, tá ið veruligi fyrispyrgiskroppurin og máls-APIið tørva tí mediaslagnum.

Les eisini HTTP-úrslitið

Eitt successful curl_easy_perform merkir ikki, at heimasíðan gav eina successful HTTP-støðu. Les CURLINFO_RESPONSE_CODE og nýt støðumeðgerðina hjá forritinum. CONNECT-svar proxyins hevur sítt egna virði, CURLINFO_HTTP_CONNECTCODE; ein tunnel-avvísning kemur áðrenn nakra heimasíðusvarligt.

CURLOPT_FAILONERROR kann viðgera nógv HTTP-villur sum feilslættir, men dokumentatiónin nevnir undantøk fyri samsannings. Halt 407-avbjóðing proxyins skild frá støðu málsins.

Skyldar greinar