VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1631|回复: 4

[求助] c++ 该如何实现连接http代理服务器来post数据。

[复制链接]
28_avatar_middle
在线会员 发表于 2016-3-20 11:54:32 | 显示全部楼层 |阅读模式
4驿站币
我这边需要实现从特定网站拿数据,但是网站访问次数多了就封掉IP,别人说需要通过HTTP代理程序要做自动切换代理的功能。

我对这个tcp.udp只会简单的使用,对于这些代理啥的就真不懂了。。
在CSDN博客找到一篇
http://blog.csdn.net/bodybo/article/details/7274865

不过博主并未提供例子。。

我自己尝试

m_socket = socket(AF_INET, SOCK_STREAM, 0);   创建一个TCP的SOCKET

调用  socket,代理IP, 代理IP端口
CProxy::ConnectServer(m_socket  "1.1.1.1"  8001)  

通过单步调试,里面返回的结果为。
返回字符串  
CONNECT 121.31.86.132:80 HTTP/1.1
User-Agent: MyApp/0.1

返回值 CONNECT_SERVER_FAIL

c++ 该如何实现连接http代理服务器来post数据。

求帮助。。。





上一篇:LOL 五杀截图 怎么实现,
下一篇:关于局域网聊天室 如果实现公网通信
28_avatar_middle
ico_lz  楼主| 发表于 2016-3-20 14:55:48 | 显示全部楼层
代理IP是用 TCP连接到代理IP和端口。
然后http获取 是需要自己组织 get或者post的包 通过 send和recv发送接收到的数据。

get组包

static const char* protocolHead=
        "GET /xxx?id=1&postid=xxxx0 HTTP/1.1 \r\n"
        "Host: www.xxx.com:80 \r\n"
        "Connection: keep-alive\r\n"
        "Accept: */*\r\n"
        "\r\n";

组包后 send发送给代理IP。
然后通过 recv接收到的数据就就行了。

自问自答。
c++ 该如何实现连接http代理服务器来post数据。
95_avatar_middle
在线会员 发表于 2016-3-22 15:26:33 | 显示全部楼层
学习下,,,,,,,,,,,,,,
51_avatar_middle
online_admins 发表于 2016-3-22 16:03:58 | 显示全部楼层
你这种情况更适合用 WinHttp 组件来做,直接有代理的接口,如果用Socket的话恐怕更麻烦,还得自己解析Http协议啊
28_avatar_middle
ico_lz  楼主| 发表于 2016-3-27 13:10:10 | 显示全部楼层
Syc 发表于 2016-3-22 16:03
你这种情况更适合用 WinHttp 组件来做,直接有代理的接口,如果用Socket的话恐怕更麻烦,还得自己解析Http ...

当时不知道 CURL 可以代理。后来换成CURL了。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-4-19 11:29

Powered by Discuz! X3.4

© 2009-2019 cctry.com

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