python模拟浏览器发送请求_python模拟浏览器发送http消息(更新:关于cookie的管理)...

python自带的urllib,urllib2可以极方便做http操作,在我们按照http方式提交消息请求后,有可能会看见返回这个错误“403 forbidden",这是请求的网站做了阻止,于是我们需要把自己伪装成模拟器。对此,可以加上headers={'User-Agent':user-agent,'cookie':cookie},注意操作的网站 需要登录账号的话,就需要加上cookie,这两个值可以通过chrome的”开发者工具“查看:

把他们加上去,然后在请求值那里再加上:

req = urllib2.Request(url = req_url,data = trans_data_urlencode,headers=headers)

这样就可以模拟浏览器发送消息了

==========================我是技能升级的分割线=====================================================

以前曾经写到的是从控制台里截取cookie,添加到代码里,为了更加地自动化,可以使用cookielib来管理cookie

def getCookie(get_cookie_url):

'''

@功能:获取cookie,并存储在cookieJar进行管理

'''

cj = cookielib.CookieJar()

opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

urllib2.install_opener(opener)

resp = urllib2.urlopen(get_cookie_url)

这里就把urllib2与cookie绑在一起,之后做的每个请求都会带上cookie了,get_cookie_url这个请求的url是返回值能够带有cookie的url就可以了。

这种情况是我们使用cookielib来获取cookie并自动管理,那么当我们有已知的cookie,怎么添加呢?

def make_cookie(name,value,domain):

'''

@功能:写入cookie

'''

return cookielib.Cookie(

version=0,

name=name,

value=value,

port=None,

port_specified=False,

domain=domain,

domain_specified=True,

domain_initial_dot=False,

path="/",

path_specified=True,

secure=False,

expires=None,

discard=False,

comment=None,

comment_url=None,

rest=None

)

可以先写个make_cookie的函数,里边参数比较多,有些默认就好。然后同样地把urllib2和cookie绑定在一起:

cj = cookielib.CookieJar()

opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

urllib2.install_opener(opener)

#接着用cj来set cookie

cj.set_cookie(make_cookie(name,value,domain))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值