c 獲取服務器的時間
```c
#include
#include
#include
#include
#include
int main() {
struct sockaddr_in server_addr;
char *message = "GET /time HTTP/\n\n";
int sock, bytes_recieved;
// 創(chuàng)建個socket
if ((sock = socket(AF_INET, SOCK_STREAM, )) == -) {
perror("Could not create socket");
exit();
}
printf("Socket created.\n");
// 配置服務器地址信息
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons();
// 將服務器IP字符串轉(zhuǎn)換為進制格式
if (inet_pton(AF_INET, "www.example.com", &server_addr.sin_addr)<=) {
printf("Invalid address/ Address not supported \n");
exit();
}
// 連接到服務器
if (connect(sock , (struct sockaddr *)&server_addr , sizeof(server_addr)) < ) {
perror("Connection Failed : ");
exit(EXIT_FAILURE);
}
printf("Connected\n");
// 發(fā)送請求到服務器
send(sock , message , strlen(message) , );
// 接收服務器響
bytes_recieved = recv(sock , message , , );
// 打印服務器響
printf("%s\n" , message);
return ;
}
```
這個程序?qū)蚍掌靼l(fā)送個HTTP GET請求,接收服務器返回的時間。
關(guān)于代理,在使用C語言獲取服務器時間時,通過代理服務器訪問網(wǎng)絡,在創(chuàng)建socket后,設置socket的套接字選項SO_SOCKOPT, 來指定代理服務器的地址和端口。