✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Znajdowanie miejsca docelowego przekierowania za pomocą PHP

6

Ostatnio pracowałem nad projektem, który komunikował się z zewnętrznym API, który, podobnie jak wiele API, odsyła wiele danych, z których część zawiera adres URL produktu powiązanego z API.

Zwracany interfejs API nie był prawidłowym docelowym adresem URL. Zamiast tego był to adres URL, który ostatecznie przekierowywał na inny adres URL.

Wyobraź sobie, że trafisz, powiedzmy, na acme.site-info.com i skierujesz go bezpośrednio do acme.com. Robimy to ręcznie przez cały czas, ale musiałem uzyskać rzeczywiste – lub ostateczne – miejsce docelowe bezpośrednio z adresu URL.

A znalezienie miejsca docelowego przekierowania za pomocą PHP jest łatwe; jednak zakłada to tylko jedno przekierowanie.

Niemniej jednak, oto jak to zrobić.

Zwróć uwagę, że następujące założenie zakłada, że ​​znasz cURL.

Znajdowanie miejsca docelowego przekierowania za pomocą PHP

A jeśli nie, korzystanie z funkcji jest dość łatwe.

curl jest używany w wierszach poleceń lub skryptach do przesyłania danych. Jest również używany w samochodach, telewizorach, routerach, drukarkach, sprzęcie audio, telefonach komórkowych, tabletach, dekoderach, odtwarzaczach multimedialnych i stanowi szkielet transferu internetowego dla tysięcy aplikacji, które codziennie wpływają na miliardy ludzi.

Co więcej, podręcznik PHP zawiera wiele informacji na ten temat, które możesz przejrzeć w razie potrzeby (i prawdopodobnie będziesz ich potrzebować również w przyszłości).

Znajdowanie miejsca docelowego przekierowania za pomocą PHP

W każdym razie, oto kod z małym wyjaśnieniem po kodzie :

Funkcja wykonuje następujące czynności:

  1. akceptuje adres URL podany przez API,
  2. pobiera nagłówki z żądania do adresu URL przez cURL,
  3. udostępnia nagłówki, które możemy odczytać, aby pobrać adres URL

Zauważ też, że oddzielam adres URL na podstawie ukośnika, abym mógł odczytać tylko domenę, ponieważ nie martwię się o nic po domenie głównej (więc jeśli domena ma rozszerzenie index .php, default. aspx rozszerzenie itp.), to mogę go wykorzystać w mojej pracy w razie potrzeby.

Po drugie, zauważ, że nie wiem, czy to zadziała dla więcej niż jednego przeskoku. Więc jeśli masz wiele przekierowań, możesz powtórzyć tę funkcję wiele razy. Nie wiem, ale pomyślałem, że warto o tym wspomnieć.

Źródło nagrywania: tommcfarlin.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów