Мне нужно проверить код ответа сервера в D. Например, проверьте, возвращаются ли серверы 404, 200 или какой-либо другой код.Как получить код ответа сервера на D?
Я посмотрел std.net.curl, но я не понимаю, как его использовать.
Я не уверен, но возможно мне нужно использовать запрос опции Ex:
import std.net.curl;
import std.stdio;
void main()
{
auto http = HTTP();
options("dlang.org", null, http);
writeln("Allow set to " ~ http.responseHeaders["Allow"]);
}
Это cее не работает для меня. Я получаю следующее сообщение об ошибке:
F:\temp\1>app.exe
[email protected](8): Range violation
----------------
0x0041DB08
0x00402092
0x00426D8E
0x00426D63
0x00426C79
0x0041D857
0x7636338A in BaseThreadInitThunk
0x77C79F72 in RtlInitializeExceptionChain
0x77C79F45 in RtlInitializeExceptionChain
Я получаю сообщение об ошибке «Ошибка: неопределенный идентификатор StatusLine», что Я должен добавить к вашему примеру, чтобы получить его работу, кроме функции main()? – Suliman
Я не могу понять, почему я получаю содержимое всей страницы вместо кода ответа сервера: 'auto http = HTTP (" dlang.org "); http.onReceiveStatusLine = (статус HTTP.StatusLine) {writeln (status.code); }; http.perform(); ' Я изменил StatusLine на HTTP.StatusLine. Правильно ли я понимаю, что структуры в D могут быть внутренними (один в другой StatusLine в HTTP)? – Suliman