Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2014
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. #include <sys/socket.h>
  2. #include <sys/types.h>
  3. #include <netinet/in.h>
  4. #include <netdb.h>
  5. #include <stdio.h>
  6. #include <string.h>
  7. #include <stdlib.h>
  8. #include <unistd.h>
  9. #include <errno.h>
  10. #include <string.h>
  11. #include <errno.h>
  12. #include <arpa/inet.h>
  13.  
  14.  
  15.  
  16. int main(int argc, char* argv[])
  17. {
  18. char *domain = argv[1];
  19. char *path = strchr(domain, '/');
  20. *path++ = '';
  21. //printf("host: %s; path: %sn", domain, path);
  22.  
  23. int sock, bytes_recieved;
  24. char send_data[1024],recv_data[9999];
  25. struct sockaddr_in server_addr;
  26. struct hostent *he;
  27.  
  28. he = gethostbyname(domain);
  29. if (he == NULL){
  30. herror("gethostbyname");
  31. exit(1);
  32. }
  33.  
  34. if ((sock = socket(AF_INET, SOCK_STREAM, 0))== -1){
  35. perror("Socket");
  36. exit(1);
  37. }
  38. server_addr.sin_family = AF_INET;
  39. server_addr.sin_port = htons(80);
  40. server_addr.sin_addr = *((struct in_addr *)he->h_addr);
  41. bzero(&(server_addr.sin_zero),8);
  42. if (connect(sock, (struct sockaddr *)&server_addr,sizeof(struct sockaddr)) == -1){
  43. perror("Connect");
  44. exit(1);
  45. }
  46.  
  47. snprintf(send_data, sizeof(send_data), "GET /%s HTTP/1.1rn Host: %srn rn rn", path, domain);
  48. //printf("%sn", send_data);
  49. send(sock, send_data, strlen(send_data), 0);
  50. printf("Data sended.n");
  51. bytes_recieved = recv(sock, recv_data, 9999, 0);
  52. recv_data[bytes_recieved] = '';
  53. close(sock);
  54. printf("Data reveieved.n");
  55. printf("%sn", recv_data);
  56.  
  57.  
  58. return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement