Подключение к whois серверу - PullRequest
0 голосов
/ 10 октября 2019

пожалуйста, помогите мне. В чем проблема с моим кодом? Это не работает вообще. Пожалуйста, дайте мне совет. Моя цель - получить информацию с сервера whois (whois.nic.cz). Вот мой код, который не работает (он не дает записи в whois-сервере):

Я упростил код до минимума, но он все еще не работает (например, прямое значение в функциях)

#include<stdio.h>   //scanf , printf
#include<string.h>  //strtok
#include<stdlib.h>  //realloc
#include<sys/socket.h>  //socket
#include<netinet/in.h> //sockaddr_in
#include<arpa/inet.h>   //getsockname
#include<netdb.h>   //hostent
#include<unistd.h>  //close

int main(int argc , char *argv[]){

    char buffer[5000];
    int sock , size = 0;
    struct sockaddr_in dest;
    sock = socket(AF_INET , SOCK_STREAM , 0);

        memset( &dest , 0 , sizeof(dest) );
        dest.sin_family = AF_INET;     
    dest.sin_addr.s_addr = inet_addr("217.31.205.42");
    dest.sin_port = htons(43);

    if(connect( sock , (const struct sockaddr*) &dest , sizeof(dest) ) < 0)
    {
        perror("connect failed");
    }
    if( send(sock , "77.75.75.176\r\n" , strlen("77.75.75.176\r\n") , 0) < 0)
    {
        perror("send failed");
    }
    printf("HERE\n");
    size = recv(sock , buffer , sizeof(buffer) , 0);

    printf("HERE\n");
    printf("size:%dBUFFER:\n%s\n", size, buffer);
    fflush(stdout);

    close(sock);
    return 0;
}

Я ожидал некоторого результата от whois-сервера, но он не дает записи в whois-сервере

...