libcurlek proxy konfigurazioa transferentzia egiten duen easy handleari lotzen dio. Ezarri bitartekariaren helbidea handle horretan, CURLOPT_URL helmugako URL gisa utzita.

Hurrengo zatiak libcurl hasieratuta dagoela eta handle easy handle baliozkoa dela suposatzen du:

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));

Mantendu errore-bufferra bizirik handleak berari erreferentzia egiten dion bitartean. Bere esparrua utzi aurretik, garbitu handlea edo ordeztu edo ezabatu CURLOPT_ERRORBUFFER erakuslea. Proxyaren ostalari-izena leku-marka da; HTTP proxy zerrendako hautagai autentifikatu gabe batek gune publiko honetako probarako helbidea eman dezake. Erabili bere eskema eta portu errealak, eta egiaztatu HTTPS tunela onartzen duen.

HTTPS helmuga batek HTTP proxy bat erabil dezake. libcurlek HTTPS transferentzia horren tunela kudeatzen du. Proxy aukerako http:// bitartekariarekiko konexioa deskribatzen du. Aldatu https:// ra soilik TLS benetan onartzen duen proxy amaierako puntu baterako eta hori onartzen duen libcurl eraikuntza baterako.

Egin bidea nahita

Proxy aukera esplizitu batek dagokion proxy ingurune-ezarpena gainditzen du. Inguratzea erabaki aparta da: oinordetzan jasotako no_proxy batek helmuga baztertu dezake oraindik. Handle honek ematen zaion helmuga bakoitzerako hautatutako proxya erabili behar badu, konfiguratu CURLOPT_NOPROXY kate huts gisa politika horren barruan.

Alderantziz, CURLOPT_PROXY kate huts batean ezartzeak proxy erabilera esplizituki desgaitzen du. NULL ra ezartzeak esleipen esplizitua kentzen du eta ingurunean oinarritutako jokabidea berriro baimendu. Bi balio horiek helburu desberdinak dituzte.

Helburu zehatzeko goiburu batek, Content-Type: text/xml bezalakoak, ez du proxya hautatzen. Gehitu soilik eskaeraren gorputzak eta helmugako APIak media mota hori behar dutenean.

Irakurri HTTP emaitza ere

curl_easy_perform arrakastatsu batek ez du esan nahi webguneak HTTP egoera arrakastatsua itzuli duenik. Irakurri CURLINFO_RESPONSE_CODE eta aplikatu aplikazioaren egoera-kudeaketa. Proxyaren CONNECT erantzunak bere balioa du, CURLINFO_HTTP_CONNECTCODE; tunelaren ukapena webguneko edozein erantzunen aurretik dator.

CURLOPT_FAILONERROR k HTTP errore asko hutsegite gisa har ditzake, baina bere dokumentazioak autentifikazio-salbuespenak aipatzen ditu. Eutsi proxyaren 407 erronka helmugaren egoeratik bereizita.

Erlazionatutako artikuluak