D语言零依赖跨平台HTTP请求:GET、POST、Cookie设置代码示例
在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等。
原文地址: https://www.cveoy.top/t/topic/oyRi 著作权归作者所有。请勿转载和采集!