套接字打开到http url并检索数据

时间:2010-09-20 09:34:15

标签: c http sockets url standards

我想使用套接字和socket.h的connect和recv方法打开一个到http url(https://www.abc.co.uk:8433/open/url/client?username=123&password=456)的套接字。

问题是url使用8433端口和剩余的url(/ open / url / client?username = 123& password = 456)。还使用https url。

任何人都知道怎么做?很久以前,我做过标准的C编码,我忘了。

int sock;

char url[1024];

struct sockaddr_in client;
struct hostent *h;
if ((sock = socket(AF_INET,SOCK_STREAM,0)) == -1)
{ 
    perror("socket:");
    return;
}

sprintf(url, "https://www.abc.co.uk:%d/open/url/client?username=123&password=456", 8443);

client.sin_family = AF_INET;
client.sin_port = htons(8443);
h = gethostbyname(url);   
client.sin_addr.s_addr = inet_addr(h->h_addr_list[0]);

1 个答案:

答案 0 :(得分:5)

如果你想进行HTTPS通信,我猜你不想自己实现它 - 或者你希望如何以安全的方式与服务器进行通信?

在这种情况下,我建议您使用libcurl,它具有出色的协议支持,并且还支持通过OpenSSL加密连接。