C语言怎样写代理服务器,能实现GET请求和CONNECT请求

C语言怎样写代理服务器,能实现GET请求和CONNECT请求,第1张

你先研究一下HTTP协议和socket编程吧,不是一两个函数就能说清楚的,尤其HTTP协议,还是很复杂的,协议说明就几百页。。。。。相连接第一步是用socket 连接对方的某端口,需要先通过域名找到地址,然后用socket连接对方 80端口,成功后你就可以发送符合HTTP协议的请求了。。。http协议头第一行就应该写你在浏览器地址栏里写的东西,包括get参数,后面是其他字段,比如你希望接受什么内容,使用的字符集等等。。。。get和FORM最大区别就是,get是连同地址域名一起发送的,所以你会在地址栏看到他,form则是有专门的字段来描述,你是看不到的,但get简单,在浏览器地址栏上你就可以手动输入参数,不需要使用form控件提交。。。

没有函数可以做这个,你要自己把客户发给你的URL中的命令(GET。。)HOST NAME, PORT NAME, HTTP/1.1OR1.0 还有PATH找出来,然后和服务器建立连接,再把header 改编发给服务器,具体的格式可以用wireshark看,然后接受服务器返回给你的包,原封不动再返回给client

我正在做与你同样的工作,我选择了mongoose,一款开源的http服务器。

http://code.google.com/p/mongoose/

这是它的网站,可以下载源码,并且协议非常自由。

有不明白之处可以联系我。我正在基于mongoose进行开发。

=========================================

源码在这里可以下载到,http://code.google.com/p/mongoose/downloads/list

我也只是一个c程序员,不太会网络编程。但用mongoose的确非常简单,因为就是c++写的,你应该看起来不费劲。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/330278.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存