Я разрабатываю игрушечную программу, которая использует API-интерфейс сокращения URL-адресов Google. Чтобы сократить URL-адрес, вам необходимо отправить этот запрос:
POST https://www.googleapis.com/urlshortener/v1/url
Content-Type: application/json
{"longUrl": "http://www.google.com/"}
и вы получите это как ответ:
{
"kind": "urlshortener#url",
"id": "http://goo.gl/fbsS",
"longUrl": "http://www.google.com/"
}
Сначала я использую Network.HTTP, но обнаружил, что он не поддерживает HTTPS, а API Google поддерживает только HTTPS. Поэтому я перехожу к Network.Curl. Я нахожу, что есть удобная функция для HTTP GET
curlGetString :: URLString -> [CurlOption] -> IO (CurlCode, String)
но нет такой функции для HTTP POST. Хуже того, я не могу найти способ получить данные ответа HTTP POST. Все, что я знаю, это то, что я могу выдать запрос HTTP POST с помощью
curlPost :: URLString -> [String] -> IO ()
Может ли кто-нибудь показать мне выход? Спасибо.