All pastes #170112 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-09-14 11:40 UTC
rendered paste body
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <string.h>

#define BUFSIZE 256

int main(int argc, char **argv)
{
  int sockfd, sent_n, recv_n;
  struct sockaddr_in target;
  char *request = "GET /game/login.php HTTP/1.1\r\nHost: www.wardrox.com\r\n\r\n";
  char response[BUFSIZE];

  target.sin_family = AF_INET;
  target.sin_port = htons(80);
  target.sin_addr.s_addr = inet_addr("83.170.64.85");
  memset(&(target.sin_zero), '\0', 8);

  if((sockfd = socket(PF_INET, SOCK_STREAM, 0)) == -1)  { perror("socket"); exit(1); }
  if(connect(sockfd, (struct sockaddr *)&target, sizeof(struct sockaddr)) == -1)  { perror("connect"); exit(1); }
  if((sent_n = send(sockfd, request, strlen(request), 0)) != strlen(request))  { printf("Sending of request failed, sent %d bytes so far\n", sent_n); exit(1); }
  printf("Request (%d bytes) sent:\n[%s]\n", sent_n, request);
  if((recv_n = recv(sockfd, response, BUFSIZE, 0)) == -1)  { perror("recv"); exit(1); }
  response[recv_n] = '\0';
  printf("Response (%d bytes) received:\n[%s]\n", recv_n, response);
  exit(0);
}