c - 如何将客户端重定向到不同的 URL?

标签 c sockets redirect

我想将访问我的端口 80 的客户端重定向到某个 URL[Ex: www.google.com]。并且还需要在浏览器地址栏中更改重定向 URL。

目前我正在使用以下代码,

#include<netinet/in.h>    
#include<stdio.h>    
#include<stdlib.h>    
#include<sys/socket.h>    
#include<sys/stat.h>    
#include<sys/types.h>    
#include<unistd.h>    

int main() {    
int create_socket, new_socket;    
socklen_t addrlen;    
int bufsize = 1024;    
char *buffer = malloc(bufsize);    
struct sockaddr_in address;    

if ((create_socket = socket(AF_INET, SOCK_STREAM, 0)) > 0){    
  printf("The socket was created\n");
}

address.sin_family = AF_INET;    
address.sin_addr.s_addr = INADDR_ANY;    
address.sin_port = htons(15000);    

if (bind(create_socket, (struct sockaddr *) &address, sizeof(address)) == 0){    
  printf("Binding Socket\n");
}


while (1) {    
  if (listen(create_socket, 10) < 0) {    
     perror("server: listen");    
     exit(1);    
  }    

  if ((new_socket = accept(create_socket, (struct sockaddr *) &address, &addrlen)) <  
0) {    
     perror("server: accept");    
     exit(1);    
  }    

  if (new_socket > 0){    
     printf("The Client is connected...\n");
  }

  recv(new_socket, buffer, bufsize, 0);    
  printf("%s\n", buffer);    
  write(new_socket, "hello world\n", 12);    
  close(new_socket);    
}    
close(create_socket);    
return 0;    
}

此代码仅在浏览器窗口中打印 hello world。但我需要的是,客户端应该重定向到其他一些 URL,并且重定向的 URL 应该在客户端浏览器地址栏中更改...我该如何实现?..请提供示例代码...

最佳答案

改变:-

write(new_socket, "hello world\n", 12);

write(new_socket, "HTTP/1.1 301 Moved Permanently\r\nLocation: http://www.google.com\r\n <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"><html><head><title>Your Page Title</title><meta http-equiv=\"REFRESH\" content=\"0;url=http://www.google.com\"></HEAD><BODY>Optional page text here.</BODY></HTML>", 326);

关于c - 如何将客户端重定向到不同的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11841290/

相关文章:

php - PHP socket 和同时

c - 用于在二叉树中查找(有序)节点后继的代码中的段错误

c - 这个信号示例有什么问题?

C# 通用 Windows StreamSocket 客户端未连接到 StreamSocketListener 服务器

ios - 从 InputStream 中获取数据

.htaccess - 使用 mod_rewrite 进行语言重定向

python - 为什么打印的 Inline::Python 函数重定向失败?

regex - 重定向 301 - 重定向地址中包含特定单词的页面

c - 在运行时查找程序的代码地址?

C 程序因大型数组而崩溃