2012-02-20 8 views
35

Se ho una variabile per passare attraverso un URL e ha un punto interrogativo, devo solo sfuggire al punto interrogativo? Se no, come posso assicurarmi che passi attraverso come dovrebbe? Scusa se questa è una domanda semplice, ma avrò bisogno di queste informazioni su tutta la linea e, a seconda della risposta, potrei aver bisogno di cambiare roba ora che sarà un casino se andrò avanti senza saperlo.Punto interrogativo nel mezzo di una variabile url?

+0

@StefanH Ok. Il mio url sarà qualcosa come 'site.com? Var1 = apples & var2 = newsite.com? W.newsite.com & var3 = stuff' Non sapevo se questo avrebbe reso le cose strane. – townie

+0

Mi dispiace - ho letto male la domanda - La mia risposta era sbagliata. Vorresti codificarlo :) –

risposta

47

Un URL punto interrogativo codifica come %3F. Ma dovresti usare un encoder appropriato per l'intera operazione piuttosto che codificare manualmente un personaggio.

6

Ecco uno full list di caratteri di codifica URL. Se stai usando PHP per un linguaggio lato server, è possibile usare qualcosa di simile ...

$nice_url = urlencode("http://your.old.url"); 

Altre lingue avranno funzioni simili a costruire (o si può trovare uno on-line). Questo si prenderà cura del tuo punto interrogativo (e altri problemi relativi all'URL).

+3

Dovresti codificare i segmenti del percorso individualmente, piuttosto che codificare l'intero URL. Altrimenti, codificherete i due punti dopo lo schema, i punti nel FQDN e le barre che separano i segmenti del percorso. Dai un'occhiata a https://tools.ietf.org/html/rfc3986 – cmoran92

5

Secondo la mia esperienza di cercare di fare un motore di ricerca JavaScript che si collega a Google, basta sostituire i punti interrogativi con % 3F. Un url legge i primi due caratteri a destra di % come formato esadecimale.

Problemi correlati