Վերնագրի տողերը հավաքեք պատասխանի մարմնից առանձին։ Պրոքսիով անցնող փոխանցումը կարող է մեկ գործողությամբ հասցնել CONNECT-ի, նույնականացման, վերահղման և նպատակակետի պատասխանի վերնագրերը.

$headerLines = [];
curl_setopt($handle, CURLOPT_HEADERFUNCTION,
    function ($handle, $line) use (&$headerLines) {
        $headerLines[] = $line;
        return strlen($line);
    }
);

Այս հետկանչը պահպանում է հում տողերի հաջորդականությունը և վերադարձնում ընդունված բայթերի քանակը։ Այն ստանում է ամբողջական տողեր, սակայն դեռ դրանք չի խմբավորում պատասխանների մեջ և չի ընտրում վերջնական կայքի վերնագրերը։

Մեկնաբանեք հաջորդականությունը որպես բլոկներ

HTTP կարգավիճակի տողը սկսում է պատասխանի բլոկ, իսկ դատարկ տողը ավարտում է դրա վերնագրերը։ Պահպանեք այդ սահմանները նախքան վերջնական նպատակակետի պատասխանն ընտրելը։ Միջանկյալ նույնականացման փորձերը և վերահղումները կարող են յուրաքանչյուրը բլոկներ ավելացնել։

Trailer-ները կարող են ավելի ուշ գալ հետկանչի միջոցով։ Պահեք բավարար վերլուծիչի վիճակ՝ դրանք սկզբնական վերնագրերից տարբերելու համար, փոխարենը յուրաքանչյուր ուշ դաշտ առաջին պատասխանին կցելու։

Պահեք կամ ճնշեք թունելի ապացույցը

Կարդացեք CURLINFO_HTTP_CONNECTCODE առանձին HTTPS թունելի CONNECT կարգավիճակի համար։ Ընդունված թունելը չի հաստատում կայքի հաջող պատասխանը։

Եթե հավաքիչին CONNECT վերնագրեր պետք չեն, CURLOPT_SUPPRESS_CONNECT_HEADERS կառավարում է դրանց հանձնումը կարգավորված վերնագրի ելքին և հետկանչի ուղիներին։ Ստուգեք աջակցությունը կապված libcurl-ում և PHP կառուցվածքում։ Ճնշումը պարզեցնում է հավաքումը, բայց հեռացնում է վերնագրի մակարդակի թունելի ապացույցը, որը կարող է օգնել ախտորոշմանը։

Չվերականգնեք մարմինը ֆիքսված տեղաշարժով կամ HTML պիտակ փնտրելով։ Վերնագրերի չափերը տարբերվում են, միջանկյալ պատասխանները տարբեր են, և մարմինը կարող է լինել բինար կամ դատարկ։ Հին թողարկմանը հատուկ սխալի հաշվետվությունը չի արդարացնում գուշակված տեղաշարժը։

Մարմնի մշակումը պահեք առանձին և պահպանեք փոխանցման սխալը դիտված պատասխանի փուլերի հետ, եթե հավաքումը կամ վերլուծությունը ձախողվի։ Դա տարբերում է ընդհատված հետկանչը, աղավաղված հավելվածի տվյալները և մերժված պրոքսի փոխանակումը։

Առնչվող հոդվածներ