用Socket获取html,HTTP头信息问题

dnd133 2011-07-25 03:06:51

char req[512];
memset(req,0,512);
sprintf_s(req,"GET %s HTTP/1.1\nHOST:%s\nAccept:text/html\nUser-Agent:Mozilla/4.04[en](Win95;I;Nav)\nConnection:Close\n\n\n",szPath,szUrl);

刚才那两句代码用来拼http头信息,用这个头信息很多http服务器认为是坏的请求,通过浏览器打开网页发现是可以访问的 ,那么肯定是我发送过去的http头有问题,请问是否缺少了什么重要的信息?还是? 有什么解决办法 么,有的网站是可以的。
...全文
410 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwestw 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 dnd133 的回复:]
C/C++ code

char req[512];
memset(req,0,512);
sprintf_s(req,"GET %s HTTP/1.1\nHOST:%s\nAccept:text/html\nUser-Agent:Mozilla/4.04[en](Win95;I;Nav)\nConnection:Close\n\n\n",szPath,sz……
[/Quote]
我也在用soket 直接取代浏览器,就差前面两个头数据包
qwestw 2011-12-05
  • 打赏
  • 举报
回复
三次抓包的信息,这个格式是什么样的,我分析不出来

0000: 45 00 00 34 14 22 00 00 34 06 96 7B 74 FF 90 75 E..4."..4..{t..u
0016: C0 A8 16 0A 00 50 0F 5E 61 EA 2E 4B D3 18 DA C8 .....P.^a..K....
0032: 80 12 40 00 05 30 00 00 02 04 05 A0 01 03 03 00 ..@..0..........
0048: 01 01 04 02 ....

0000: 45 00 00 34 75 D2 00 00 34 06 34 CB 74 FF 90 75 E..4u...4.4.t..u
0016: C0 A8 16 0A 00 50 0F 62 6C 5A 2B 64 6E 1A A8 6D .....P.blZ+dn..m
0032: 80 12 40 00 94 FC 00 00 02 04 05 A0 01 03 03 00 ..@.............
0048: 01 01 04 02 ....

0000: 45 00 00 34 14 7B 00 00 35 06 95 22 74 FF 90 75 E..4.{..5.."t..u
0016: C0 A8 16 0A 00 50 0F 78 76 54 DC 9D 2E E7 BC 19 .....P.xvT......
0032: 80 12 40 00 05 3A 00 00 02 04 05 A0 01 03 03 00 ..@..:..........
0048: 01 01 04 02






0000: 45 00 00 28 14 D9 40 00 34 06 55 D0 74 FF 90 75 E..(..@.4.U.t..u
0016: C0 A8 16 0A 00 50 0F 5E 61 EA 2E 4C D3 18 DD A8 .....P.^a..L....
0032: 50 10 FD 1F 85 E7 00 00 P.......

0000: 45 00 00 28 76 E0 40 00 34 06 F3 C8 74 FF 90 75 E..(v.@.4...t..u
0016: C0 A8 16 0A 00 50 0F 62 6C 5A 2B 65 6E 1A AB 4D .....P.blZ+en..M
0032: 50 10 FD 1F 15 B4 00 00 P.......

0000: 45 00 00 34 14 86 00 00 34 06 96 17 74 FF 90 75 E..4....4...t..u
0016: C0 A8 16 0A 00 50 0F 79 2C EA AC F4 F9 B0 A4 33 .....P.y,......3
0032: 80 12 40 00 CB 68 00 00 02 04 05 A0 01 03 03 00 ..@..h..........
0048: 01 01 04 02
dnd133 2011-07-26
  • 打赏
  • 举报
回复
弄好了之后散分
dnd133 2011-07-26
  • 打赏
  • 举报
回复
我再试试~。谢谢各位的回答~
solohac 2011-07-25
  • 打赏
  • 举报
回复
header不对吧?
header之间不都是\r\n吗?怎么楼主这里都是\n

抓包仔细对比
pzhuyy 2011-07-25
  • 打赏
  • 举报
回复
关键是get的内容对不对。呵呵,如果服务器端没有做防盗链之类的处理的话。
smwhotjay 2011-07-25
  • 打赏
  • 举报
回复
最关键请求 GET /xx.jpg HTTP/1.1 \r\n\r\n
其他的其实都不重要
Eleven 2011-07-25
  • 打赏
  • 举报
回复
用IE和你的程序分别用抓包工具抓个包比对一下不就很清楚了~

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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