![]() |
Untiny, eller hur får man reda på den riktiga URLen.
Många tjänster så som Twitter använder Tinyurl och liknande tjänster för att skapa kort adresser. Men kan jag via PHP få reda på den riktiga URLen om jag har en kortadress?
Exempelvis http://tiny.pl/htk går till http://www.google.com En tjänst som gör detta är exempelvis: http://www.untiny.com/ men vill helst inte bli beroende av deras API. |
htk i http://tiny.pl/htk refererar väl till en rad i en databas, antar jag så det går inte att "räkna ut" med hjälp av php på din egen server.
edit: jag tänkte nog inte tillräckligt länge innan mitt svar :P du vill alltså ha en egen funktion som gör samma som untinys api? |
Citat:
Här är källkod om någon vill ha: PHP-kod:
|
Man får väl göra en http-request och titta i svaret vilken URL redirect sker till. Eventuellt spara det i en egen databas om man inte vill göra samma request flera gånger. (Om det nu är tillåtet att göra så?)
|
Citat:
Och varför köra get_headers() en gång extra om den inte lyckades första gången? $header är ju redan satt och innehållet i den kommer inte bli annorlunda bara för att man kör get_headers() igen. |
Jag ändrade koden lite (har dock inte testat den):
PHP-kod:
|
Citat:
|
Citat:
Visst, majoriteten av alla Tinyurls har antagligen bara en redirect. Är dock inte säker på hur alla andra liknande tjänster fungerar. Hur som, det är det enda sättet, jag kan komma på, att vara helt säker på att det är slutdestinationen. |
Citat:
Om man ska använda det rent informativt är det väl bättre att skriva ut alla steg. PHP-kod:
|
Citat:
Notera att destinationen kan vara en helt annan än vad som finns i TinyURL. Exempelvis så skapar jag en TinyURL till https://www.google.se men den adressen finns inte, så google gör själva en redirect till http://www.google.se (dvs. utan HTTPS) |
Alla tider är GMT +2. Klockan är nu 17:23. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson