在D语言中,可以使用std.net.http库来进行简单的HTTP请求,支持GET和POST方法,以及设置cookie等功能。该库无需依赖外部库,可实现跨平台HTTP请求。

以下是一个简单的GET请求示例:

import std.net.http;

void main()
{
    auto conn = HTTPConnection('example.com');
    conn.request('GET', '/');
    
    auto response = conn.getresponse();
    writeln(response.readBody());
    
    // 获取cookie
    auto cookie = conn.getCookie('SESSIONID');
    writeln(cookie);
}

在上述代码中,我们首先创建了一个HTTPConnection对象,并指定要请求的URL,然后使用request方法发送了一个GET请求。接着,使用getresponse方法获取服务器的响应,并使用readBody方法获取响应的正文。最后,使用getCookie方法获取名为SESSIONID的cookie。

如果要发送POST请求,则可以使用request方法的第二个参数指定请求的数据,如下所示:

import std.net.http;

void main()
{
    auto conn = HTTPConnection('example.com');
    auto data = 'username=john&password=123456';
    conn.request('POST', '/login', data);
    
    auto response = conn.getresponse();
    writeln(response.readBody());
    
    // 获取cookie
    auto cookie = conn.getCookie('SESSIONID');
    writeln(cookie);
}

在上述代码中,我们使用POST方法发送了一个包含用户名和密码的请求,然后获取服务器的响应,并获取名为SESSIONID的cookie。

需要注意的是,std.net.http库并不支持设置请求头等高级功能。如果需要更高级的HTTP请求功能,可以考虑使用第三方库如vibe-d等。

D语言零依赖跨平台HTTP请求:GET、POST、Cookie设置代码示例

原文地址: https://www.cveoy.top/t/topic/oyRi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录