F # HTTP Post, Чтение ответа кода состояния - PullRequest
0 голосов
/ 07 октября 2018

Я использую Fsharp.DATA для отправки HTTP POST-запроса и чтения кода состояния ответа.В этом случае я ожидаю 302 (Перенаправление) в случае успеха и 200 (ОК) в случае неудачи.Я вижу на фиддлере, что я получаю 302, который, в свою очередь, перенаправляет и, таким образом, генерирует запрос 'GET'.В моем коде я хочу прочитать код состояния «302», чтобы показать мне, что это сработало.Однако мой ответ с кодами дает мне код состояния последующего запроса «GET» (200), а не моего первоначального почтового запроса (302).По крайней мере ... я предполагаю, что именно поэтому он считывает 200 вместо 302, несмотря на мой первоначальный запрос POST с кодом состояния 302 (показан в fiddler)

The first POST I send returns a 302 which generates the second 200

let postTEST cap:string =
if Http.Request("https://foo.com/m=account-creation/create_account",
     body = FormValues [
    "foo", "foo";
    "foo", "foo";
    "email1", email;
    "onlyOneEmail", "1";
    "password1", foo;
    "onlyOnePassword", "1";
    "foo", "foo";
    "foo", "12";
    "month", "10";
    "year", "foo";
    "foo", cap;
    "foo", "foo";]).StatusCode = 320 then "worked"
    else "Not worked"

1 Ответ

0 голосов
/ 07 октября 2018

Вы можете отключить следующие перенаправления, настроив HTTP-запрос:

Http.Request(
    "https://example.url",
    body = FormValues [],
    customizeHttpRequest = fun r -> r.AllowAutoRedirect <- false; r)

Для получения дополнительной информации см. раздел FSharp.Data "Настройка HTTP-запроса" и в HttpWebRequest.документы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...