I'm trying to add a new item to a module. I have a url for what I'm trying to add but each time I try, the response is: "not a valid url". When I try the url by itself, it works.
[ and ] are reserved characters inside URLs that need URI encoded (escaped using a % followed by a 2 digit hexidecimal code). The link had another one that was already encoded, that's the %20 you see that is really a space. [ becomes encoded as %5B and ] becomes encoded as %5D
The browsers automatically do this conversion for you.
Below is the encoded link, it worked for me. Also note that when I tried to create the module item with the link, it did not work, but then I was able to edit it and put in the link.
I will also say that it is a link to a non-SSL site (http instead of https), so Canvas will force the browser to open it in a new window.
In general, you should avoid names with spaces or special characters for web pages. RFC 3986 lists the characters that must be escaped, so also watch out in case you have any of these in your URL: ! * ' ( ) ; : @ & = + $ , / ? # [ ]
Knowing the URL that you were trying to insert would help. In its absence, I'll have to make some guesses.
Does the URL begin with http or https, or is it something like ftp, telnet, mailto? Depending on where you are, http and https are the only allowed protocols within Canvas.
If I try to insert an external URL as a module item and use any protocol other than http or https, then it complains about the not valid url thing. Here's a screenshot of me attempting to link to a Project Gutenberg archive
That link would work in a browser, though, since it is a valid URL. It's just not one that's supported by Canvas.
This is the url.
It is an http url
Retrieving data ...