请教!关于传透HTTP代理协议的问题!

moony_blue 2001-11-10 12:32:10
最近我在写一个支持传透HTTP、SOCK4/5代理协议的通信模块。

sprintf( buff, "%s%s:%d%s","CONNECT ",_proxyInfo->GetHostServerAddress(),_proxyInfo->GetHostServerPort()," HTTP/1.1\r\nUser-Agent: MyApp/0.1\r\n\r\n");
_socket->Send(buff,strlen(buff)); //发送请求

这句代码可以向支持HTTP协议的代理服务器提交代理请求。
可如果proxy server要用户身份校检的话 username/password 填哪呢?
...全文
497 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wgch007 2001-11-27
  • 打赏
  • 举报
回复
attention
moony_blue 2001-11-27
  • 打赏
  • 举报
回复
目前Base64编码代码已经有了。
目前的问题是,我按照协议发送HTTP代理请求连接本机的2222端口,包括用户名/口令,
(如下):
------------------------------------------------------------------------------
CONNECT 127.0.0.1:2222 HTTP/1.0
User-agent: MyApp/1.0
Proxy-authorization: enter xxxxxx

------------------------------------------------------------------------------
假设xxxxx为Base64编码后的口令,enter是明文用户名。

可代理服务器(我用的是wingate)返回带有"Access Denied"及"File not found or access denied"的HTML格式的反馈。

在wingate的"Sustem Policies"中,我将Everyone设置为"User must be authentica.."
以及User数据库里存在用户"enter"以及相应的口令。
如果"Assumed User"中不绑定任何用户时,处理HTTP代理时,wingate将所有带身份验证信息的请求均视为Guest!!如果绑定用户时,例如enter,则wingate仍然不让身份验证请求通过!!

奇怪!!!
moony_blue 2001-11-27
  • 打赏
  • 举报
回复
最好是贴一段用Base64编码字串的函数..最好使用就这么简单。

//用Base64编码/解码(源字串,编码后的字串,编码/解码)
bool Base64(char *str_source, char *str_base64, int mode)
{
//......
}
moony_blue 2001-11-27
  • 打赏
  • 举报
回复
我的msdn cd3盘烂了 哪位高人能将使用wininet穿透http代理的相关代码贴一下呢?

小弟感激不尽!! :~~)
sungang 2001-11-13
  • 打赏
  • 举报
回复
发出Http请求,不一定能得到希望的应答,因为服务器可以要求你重新定向,然后验证,或者在定向前发给你Cookie,要求你在定向时使用Cookie,并验证身份。

协议可以看看,但是Http相关协议很多。我在超级代理的开发中仔细研究过Http协议,知道要写出完成的代码是比较麻烦的。

sungang 2001-11-13
  • 打赏
  • 举报
回复
简单的方法,是使用WinInet,否则你必须自己处理用户名密码加密。请注意编码和加密是不一样的。
xadave 2001-11-13
  • 打赏
  • 举报
回复
RFC 2068 or 2067.
xadave 2001-11-13
  • 打赏
  • 举报
回复
如果代理服务器需要认证的话,这时(刚才Send后)你会收到407错误;你然后需要将用户名/密码用Base64 编码再次一起发送。HTTPS 协议,可以在rfc.net查找。
moony_blue 2001-11-12
  • 打赏
  • 举报
回复
哪篇RFC是关于HTTP代理协议的?

找不到阿..
moony_blue 2001-11-12
  • 打赏
  • 举报
回复
upupup
sungang 2001-11-10
  • 打赏
  • 举报
回复
身份认证在Http中是比较复杂的,因为,它有多种加密和数据校验的方法。具体,你可以看Http协议。
如果简单处理的化,你可以使用WinInet.

欢迎看看我们的软件:
http://www.csdn.net/cnshare/soft/4/4632.html

ShyWJB 2001-11-10
  • 打赏
  • 举报
回复
想知道
moony_blue 2001-11-10
  • 打赏
  • 举报
回复
fafa
ShyWJB 2001-11-10
  • 打赏
  • 举报
回复
sungang() 大师
您能关注一下这个贴子吗?怎么编写使用代理服务器访问网络的程序实在不会了
http://www.csdn.net/expert/topic/360/360785.shtm
xtky_limi 2001-11-10
  • 打赏
  • 举报
回复
旁听

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧