Python模拟http协议初步学习(002)

模拟一个比较复杂一点的HTTP请求:

 

这个是优酷请求被分段的视频信息的http请求,请求后获得的结果是下边挨着的那个数据包:


展开的内容就是这里边的内容:http://blog.csdn.net/duhaomin/article/details/17680603

好了,接下来模拟HTTP请求:

python 2.7.5

#!/usr/bin/python
# -*- coding: utf-8 -*-
import httplib
import urllib


requestheaders={
    'Host':'api.youku.com',
    'Connection':'keep-alive',
    'User-Agent':'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1359.0 Safari/537.22 apexBrowser',
    'Accept':'*/*',
    'Referer':'http://static.youku.com/v1.0.0392/v/swf/loader.swf',
    'Accept-Encodint':'gzip,deflate,sdch',
    'Accept-Language':'zh-CN,zh;q=0.8',
    'Accept-Charset':'GBK,utf-8;q=0.7,*;q=0.3',
    'Cookie':'ykss=c145c152464fbc611ba1dbd2; xreferrer=http://v.youku.com/v_show/id_XMjQwOTM4OTgw.html; logCookieKey=invalid; u=__LOGOUT__; __ysuid=13883980167585i4'
}


conn = httplib.HTTPConnection("123.126.99.52:80")
conn.request("GET","/player/getPlayList/VideoIDS/XMjQwOTM5MjI4/timezone/+08/version/5/source/video?n=3&password=&ran=6549",
             None,requestheaders)
r1 = conn.getresponse()
print (r1.status , r1.reason)
data1 = r1.read()
print (data1)
conn.close()

requestheaders就是照着抓到的数据包写的,部分内容可以省略

http连接ip以及端口号的确认:看一下数据包的截图:123.126.99.52,至于端口号,http协议一般就是80端口,想要特别确认的话,展开Transmission:


剩下的应该可以很容易明白的,至于里边的conn.request说一下,第二项是目标主机路径下的想要访问的路径或者文件,第三项是附加信息行,比如用户登录信息之类的,我这里不需要登录信息,就使用空了,想要学习不实用空的,可以看这个博友的博客:

http://blog.csdn.net/mdl13412/article/details/7450931 自己动手写H3C校园网登录客户端(Linux平台版)


最终F5后的结果:

Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
(200, 'OK')
{"data":[{"ct":"h","cs":"2205|2212|2224","logo":"http:\/\/g2.ykimg.com\/11270F1F46511D31C1701700000000E759824A-43D7-118C-88D9-92CF75C307A5","seed":9883,"tags":["\u52a8\u6f2b"],"categories":"100","videoid":"60234807","vidEncoded":"XMjQwOTM5MjI4","list":[{"seq":"7","vid":"60237150","vidEncoded":"XMjQwOTQ4NjAw","title":"\u7b2c07\u8bdd \u964d\u4e34\u5230\u5730\u7403\u7684\u5916\u661f\u4eba","vv":"2698671"},{"seq":"8","vid":"60237193","vidEncoded":"XMjQwOTQ4Nzcy","title":"\u7b2c08\u8bdd \u4e07\u5723\u8282\u7684\u591c\u665a","vv":"2444772"},{"seq":"9","vid":"60237241","vidEncoded":"XMjQwOTQ4OTY0","title":"\u7b2c09\u8bdd \u7b49\u5f85\u602a\u517d\u7684\u5c11\u5973","vv":"2111812"},{"seq":"10","vid":"60234671","vidEncoded":"XMjQwOTM4Njg0","title":"\u7b2c10\u8bdd \u5c01\u95ed\u7684\u6e38\u4e50\u56ed","vv":"2407953"},{"seq":"11","vid":"60234745","vidEncoded":"XMjQwOTM4OTgw","title":"\u7b2c11\u8bdd \u5b89\u9b42\u66f2","vv":"2169240"},{"seq":"12","vid":"60234807","vidEncoded":"XMjQwOTM5MjI4","title":"\u7b2c12\u8bdd \u6df1\u6d77\u6765\u7684SOS","vv":"1798680"},{"seq":"13","vid":"60234872","vidEncoded":"XMjQwOTM5NDg4","title":"\u7b2c13\u8bdd \u4e0d\u505a\u5974\u96b6 \u52d2\u6bd4\u514b\u661f\u4eba","vv":"2042638"},{"seq":"14","vid":"60234936","vidEncoded":"XMjQwOTM5NzQ0","title":"\u7b2c14\u8bdd \u88ab\u6d41\u653e\u7684\u76ee\u6807","vv":"2135648"},{"seq":"15","vid":"60235001","vidEncoded":"XMjQwOTQwMDA0","title":"\u7b2c15\u8bdd \u68a6\u5e7b\u75be\u8d70","vv":"1874339"},{"seq":"16","vid":"60235073","vidEncoded":"XMjQwOTQwMjky","title":"\u7b2c16\u8bdd \u9b3c\u795e\u9192\u6765","vv":"1803906"},{"seq":"17","vid":"60235140","vidEncoded":"XMjQwOTQwNTYw","title":"\u7b2c17\u8bdd \u7ea2\u4e0e\u84dd\u7684\u51b3\u6218","vv":"1546783"},{"seq":"18","vid":"60235207","vidEncoded":"XMjQwOTQwODI4","title":"\u7b2c18\u8bdd \u54e5\u5c14\u8d5e\u7684\u53cd\u88ad","vv":"1482976"},{"seq":"19","vid":"60235263","vidEncoded":"XMjQwOTQxMDUy","title":"\u7b2c19\u8bdd GUTS\u5954\u5411\u5b87\u5b99(\u4e0a)","vv":"1243499"},{"seq":"20","vid":"60235384","vidEncoded":"XMjQwOTQxNTM2","title":"\u7b2c20\u8bdd GUTS\u5954\u5411\u5b87\u5b99(\u4e0b)","vv":"1361032"},{"seq":"21","vid":"60235430","vidEncoded":"XMjQwOTQxNzIw","title":"\u7b2c21\u8bdd \u51fa\u573a\u4e86,\u5fb7\u73ed","vv":"1537498"},{"seq":"22","vid":"60235478","vidEncoded":"XMjQwOTQxOTEy","title":"\u7b2c22\u8bdd \u5927\u96fe\u6765\u4e86","vv":"1335148"},{"seq":"23","vid":"60235528","vidEncoded":"XMjQwOTQyMTEy","title":"\u7b2c23\u8bdd \u6050\u9f99\u4eec\u7684\u661f\u7403","vv":"1330631"},{"seq":"24","vid":"60235631","vidEncoded":"XMjQwOTQyNTI0","title":"\u7b2c24\u8bdd \u524d\u8fdb!\u602a\u517d\u63a2\u9669\u961f","vv":"1351647"},{"seq":"25","vid":"60235680","vidEncoded":"XMjQwOTQyNzIw","title":"\u7b2c25\u8bdd \u6076\u9b54\u7684\u5ba1\u5224","vv":"1445872"},{"seq":"26","vid":"60235724","vidEncoded":"XMjQwOTQyODk2","title":"\u7b2c26\u8bdd \u5f69\u8679\u822c\u7684\u602a\u517d\u9b54\u5883","vv":"1448440"}],"list_pre":{"seq":"11","vid":"60234745","vidEncoded":"XMjQwOTM4OTgw","title":"\u7b2c11\u8bdd \u5b89\u9b42\u66f2","vv":"2169240"},"list_next":{"seq":"13","vid":"60234872","vidEncoded":"XMjQwOTM5NDg4","title":"\u7b2c13\u8bdd \u4e0d\u505a\u5974\u96b6 \u52d2\u6bd4\u514b\u661f\u4eba","vv":"2042638"},"username":"\u4e16\u7eaa\u534e\u521bSCLA","userid":"82663132","title":"\u7b2c12\u8bdd \u6df1\u6d77\u6765\u7684SOS","up":0,"down":0,"ts":"mJvnyzX5at3qWsEB*NWrrg","tsup":"mJvr6jb5at3qWsEC2dmrrg","key1":"b14b022f","key2":"a88c00c86048ece5","tt":"0","show":{"showid":"104924","showid_encode":"70cd4334278211e097c0","showname":"\u8fea\u8fe6\u5965\u7279\u66fc","paid":0,"paid_type":"","show_paid":0,"paid_url":"","copyright":1,"show_videotype":1,"theaterid":0,"stage":"12"},"dvd":{"notsharing":"0"},"seconds":"1252.53","streamfileids":{"flv":"31*7*31*31*31*59*31*60*31*31*61*41*41*25*59*58*7*61*57*56*58*51*31*60*57*25*61*17*25*58*57*25*31*60*57*31*59*25*11*25*8*25*8*11*60*59*51*41*11*38*63*17*60*11*38*61*17*17*60*31*41*59*38*31*7*63*","mp4":"31*7*31*31*31*8*31*60*31*31*61*41*41*25*7*41*51*57*57*56*58*51*31*60*57*25*61*17*25*58*57*25*31*60*57*31*59*25*11*25*8*25*8*11*60*59*51*41*11*38*63*17*60*11*38*61*17*17*60*31*41*59*38*31*7*63*"},"segs":{"flv":[{"no":"0","size":"13578950","seconds":"410","k":"01b0fb7e19d4a41428293199","k2":"1ed2421bc6ceca816"},{"no":"1","size":"13657423","seconds":"412","k":"3804d1b7d8bc948b261d6c92","k2":"1846b8b248faf792b"},{"no":"2","size":"7598528","seconds":"195","k":"b4c743e1a76029a7261d6c92","k2":"13424a09a0a510692"},{"no":"3","size":"10154639","seconds":"235","k":"717541a167415e13261d6c92","k2":"15b325d73334a12f8"}],"mp4":[{"no":"0","size":"25794324","seconds":"403","k":"e79a82a0d286cc2a2411a78a","k2":"19618434b26741e32"},{"no":"1","size":"23157066","seconds":"374","k":"6a0385c1529d276f28293199","k2":"1f42f431c00ebf76d"},{"no":"2","size":"17217085","seconds":"231","k":"a9f2b6c1da1e7da728293199","k2":"1a26d4ee022ba6d31"},{"no":"3","size":"20089524","seconds":"245","k":"5c9449421aab3233261d6c92","k2":"1a04c02b11a9d9765"}]},"streamsizes":{"flv":"44989540","mp4":"86257999"},"stream_ids":{"flv":"31434774","mp4":"31438593"},"streamlogos":{"flv":0,"mp4":0},"streamtypes":["flv","mp4"],"streamtypes_o":["flvhd","flv","mp4"]}],"user":{"id":0},"controller":{"search_count":true,"mp4_restrict":1,"stream_mode":1,"video_capture":true,"hd3_enabled":false,"area_code":110000,"dma_code":4808,"continuous":0,"playmode":"show","circle":false,"tsflag":false,"other_disable":false,"share_disabled":false,"download_disabled":true,"pc_disabled":false,"pad_disabled":false,"mobile_disabled":false,"tv_disabled":false,"comment_disabled":false}}
-------------------------------
>>> 



 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值