Безопасный просмотр Google возвращает 400 неверных запросов

Google возвращает 400 неправильных запросов; а что не так с запросом?

open FSharp.Data

let apiKey = "key goes here - removed for stackru"

let postUrl = "http://safebrowsing.clients.google.com/safebrowsing/downloads"
let testArray = "2\nhttp://www.google.com/\nhttp://ianfette.org/"

[<EntryPoint>]
let main argv = 

    let foo2 = Http.Request(postUrl, httpMethod = "Post",
        query   = [ "client", "api"; "apikey", apiKey; "appver", "1.0"; "pver", "2.2" ],
        body = TextRequest (testArray)
        )

    0

Я убедился, что мой ключ правильный, успешно выполнив запросы get, это только сообщение, которое терпит неудачу.

1 ответ

Решение

Когда я обновил FSharp.Data до версии 2.0.5 (выпущена 2014-03-29), это начало работать. Я могу только предположить, что в предыдущей версии была ошибка, которая теперь исправлена.

Примечания к выпуску:

Добавлено - в список пропущенных значений по умолчанию. Повторно добавлена ​​поддержка для указания известных заголовков HTTP в неправильном случае. Исправлена ​​отправка HTTP-запросов при использовании переносной версии библиотеки классов FSharp.Data в полной версии.NET.

Вот окончательный (рабочий) код:

open FSharp.Data

let apiKey = "key goes here"

let postUrl = "https://sb-ssl.google.com/safebrowsing/api/lookup"
let testArray = "2\nhttp://www.google.com/\nhttp://ianfette.org/"

[<EntryPoint>]
let main argv = 

    let foo2 = Http.Request(postUrl, httpMethod = "Post",
        query   = [ "client", "api"; "apikey", apiKey; "appver", "1.5.2"; "pver", "3.0" ],
        body = TextRequest (testArray)
        )

    0

Спасибо Сергею Тихону за то, что нашли ошибку в моей строке URL в вопросе.

Другие вопросы по тегам