一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 3049|回复: 11
收起左侧

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

[复制链接] |试试Instant~ |关注本帖
zmhfdu 发表于 2014-1-29 08:00:24 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
RT,要用C语言写一个proxy.想知道GET请求和CONNECT请求的具体工作流程是什么?网络编程没学过,有人帮我讲解一下吗?要是能具体到大概用什么函数最好了,或者有个流程也行,谢谢!
readman 发表于 2014-1-29 09:19:07 | 显示全部楼层
是什么架构的? SOAP还是REST
回复 支持 反对

使用道具 举报

 楼主| zmhfdu 发表于 2014-1-29 11:33:25 | 显示全部楼层

架构我还真不太清楚,但是代码风格就是那种最基础的socket编程(类似《UNIX网络编程卷1》那本书)。绝大部分代码都有了,只需要完成一个函数:连接建立以后,实现GET请求或CONNECT请求。现在不太清楚这种http协议的请求的工作流程,比如用什么函数来发送接收等等。而且感觉还涉及到thread的编程,十分无从下手。。
回复 支持 反对

使用道具 举报

readman 发表于 2014-1-29 11:39:32 | 显示全部楼层
zmhfdu 发表于 2014-1-29 11:33
架构我还真不太清楚,但是代码风格就是那种最基础的socket编程(类似《UNIX网络编程卷1》那本书)。绝大部 ...

你能举例是哪种请求么? 如果单纯是GET. 网上应该很多库可以用吧.
回复 支持 反对

使用道具 举报

 楼主| zmhfdu 发表于 2014-1-29 12:32:47 | 显示全部楼层
readman 发表于 2014-1-29 11:39
你能举例是哪种请求么? 如果单纯是GET. 网上应该很多库可以用吧.

比如GET http://www.1point3acres.com/ HTTP/1.1 这种最基本的 ,能用浏览器把网页打开就行了
回复 支持 反对

使用道具 举报

readman 发表于 2014-1-29 12:48:30 | 显示全部楼层
zmhfdu 发表于 2014-1-29 12:32
比如GET http://www.1point3acres.com/ HTTP/1.1 这种最基本的 ,能用浏览器把网页打开就行了

哦 说白了就是截网页的页面资源?
回复 支持 反对

使用道具 举报

Poalo 发表于 2014-1-29 12:58:02 | 显示全部楼层
zmhfdu 发表于 2014-1-29 11:33
架构我还真不太清楚,但是代码风格就是那种最基础的socket编程(类似《UNIX网络编程卷1》那本书)。绝大部 ...

Yes,you need thread for handling multiple request.
There are lots of examples in application layer HTTP request.
http://stackoverflow.com/questio ... le-http-server-in-c
回复 支持 反对

使用道具 举报

 楼主| zmhfdu 发表于 2014-1-29 13:13:39 | 显示全部楼层
readman 发表于 2014-1-29 12:48
哦 说白了就是截网页的页面资源?

我感觉老师的意思就是这样的。这直观证明了代理服务器是可以正常工作的,就算是“通了”吧~
回复 支持 反对

使用道具 举报

 楼主| zmhfdu 发表于 2014-1-29 13:14:56 | 显示全部楼层
Poalo 发表于 2014-1-29 12:58
Yes,you need thread for handling multiple request.
There are lots of examples in application laye ...

wow,i will learn it carefully. Thanks a lot!
回复 支持 反对

使用道具 举报

nynyaaa 发表于 2014-1-30 02:30:15 | 显示全部楼层
当年bill joy(vi 作者)作为一个大学生自己实现了TCP/IP,问他怎么实现的:他说看着协议写就好了

下面就是HTTP的协议
http://www.w3.org/Protocols/rfc2616/rfc2616.html
回复 支持 反对

使用道具 举报

 楼主| zmhfdu 发表于 2014-1-30 07:50:41 | 显示全部楼层
nynyaaa 发表于 2014-1-30 02:30
当年bill joy(vi 作者)作为一个大学生自己实现了TCP/IP,问他怎么实现的:他说看着协议写就好了

下面就 ...

“看着协议写就好了”……真大神。当年毕设时候老师好像也让我实现TCP/IP来着(o_o)
谢谢!
回复 支持 反对

使用道具 举报

kebugcheck 发表于 2015-7-30 14:13:51 | 显示全部楼层
有个开源的工具叫Privoxy,C语言写的。可以参考一下。
http://www.privoxy.org/
http://sourceforge.net/projects/ijbswa/
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-11 03:05

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表