✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Använda cURL för att avgöra om den angivna webbadressen är en giltig sida

6

Tidigare denna månad skrev jag om att hitta destinationen för en omdirigering med hjälp av cURL i PHP. Detta kan vara en användbar funktion att använda när:

  • du vet att webbadresserna som du har att göra med kommer att omdirigera,
  • du vet att antalet omdirigeringar kommer att begränsas till en.

Visst, i det senare fallet blir det svårare eftersom sajter som till exempel Twitter har flera omdirigeringar innan du kommer till destinationen.

Men det är ett ämne för ett annat inlägg (såvida du inte bara vill implementera ett rekursivt eller iterativt sätt att arbeta igenom förfrågningar tills du hittar slutdestinationen).

Hur som helst, det finns en annan sak som också kan vara användbar när du arbetar med omdirigeringar och med cURL, och det är att avgöra om den angivna webbadressen tar dig till en giltig sida.

Är den angivna webbadressen en giltig sida?

Koden i det här inlägget kommer inte att vara helt annorlunda än vad du kanske har sett i tidigare inlägg; Men de viktigaste sakerna som vi ska göra är följande:

  • initiera cURL med webbadressen som vi har fått,
  • ställ in värdet CUROPT_RETURNTRANSFER till sant (vilket returnerar värdet för överföringen som en sträng),
  • och utvärdera sedan HTTP-statuskoden som returneras från begäran.

Du kan läsa allt om koderna på den här webbplatsen men de två vi är mest bekymrade över, åtminstone för det här inlägget, är 404 och 200.

Använda cURL för att avgöra om den angivna webbadressen är en giltig sida

Så först, koden:

Och så här fungerar det:

  1. funktionen accepterar en URL som ett argument,
  2. vi initierar cURL med rätt inställningar, och sedan kör vi begäran,
  3. vi läser värdet på statuskoden som är lagrad från svaret,
  4. vi stänger cURL-handtaget och returnerar sedan utvärderingen av statuskoden.

Det verkar enkelt nog, eller hur?

Och i allmänhet är det så. Du kanske måste göra lite finjusteringar på egen hand för din statuskod, eller så kanske du vill analysera information från svaret. Detta kan göras genom att analysera strängen, använda reguljära uttryck eller mer. Men det ligger utanför ramen för detta inlägg.

Som ett minimum kommer detta att tala om för dig om webbadressen som du förs till är en giltig sida eller inte.

Inspelningskälla: tommcfarlin.com

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer