Haskell.Network.URI.outside US-ASCII символы - PullRequest
2 голосов
/ 27 марта 2011

У меня проблема с созданием URI для запроса http через библиотеку HTTP .

Например:

import Network.URI

parseURI "http://мтс.рф"

или

parseURI "http://maps.googleapis.com/maps/api/geocode/json?address=Титова+42&sensor=false"

В обоих случаях у меня "Ничего".Я не нашел решения в документации

Я пытался декодировать / экранировать не символы ASCII, но это не помогло.

Спасибо.

1 Ответ

1 голос
/ 27 марта 2011

Второй случай можно разрешить с помощью пакета utf8-string:

import Network.URI
import Codec.Binary.UTF8.String
uri = parseURI $ (escapeURIString isUnescapedInURI . encodeString)
        "http://maps.googleapis.com/maps/api/geocode/json?address=Титова+42&sensor=false"

main = print uri

Для начала попробуйте Data.Text.IDN.IDNA.toASCII из пакета gnuidn.

...