写点python吧,python其实是个很好用的工具,作为浇水语言,跟其他语言联系也很紧密,想用什么包直接import,导入ctypes调用底层函数库,导入web相关的包可以轻松写爬虫,今天我们写的跟web相关,程序员无所不能,我们创造个小人,这个小人每天定点给我们签到,(这个写出来后还得借助crontab稍后给大家献上C语言版的daemon签到,写C语言就没urllib包了,都是socket,或者说一切皆文件!)

俩文件bbs_login.py,bbs_sign.py,前者获取cookie,保存成本地文件后者借助cookie文件签到(就一post请求 )

  1. #! /usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. import cookielib
  5. import urllib2
  6. import urllib
  7. import os
  8.  
  9. url = 'http://xxx.xxx.com/asd' #一定是你登入提交的那个url
  10.  
  11. ckjar = cookielib.MozillaCookieJar('cookie.txt')
  12. #ckjar = cookielib.CookieJar()
  13. data = {'password':'我是密码','username':'我是用户名'}
  14.  
  15. postData = urllib.urlencode(data)
  16.  
  17. req = urllib2.Request(url,postData)
  18. #换成你的ua-我们这后台验证登入成功后会把ua,username作为因子DES加密后种到cookie里
  19. req.add_header('User-Agent','Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36')
  20.  
  21. opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(ckjar))
  22. urllib2.install_opener(opener)
  23.  
  24. f =opener.open(req)
  25.  
  26. htm = f.read()
  27. print htm
  28.  
  29. f.close()
  30.  
  31. ckjar.save(ignore_discard=True, ignore_expires=True)

  运行成功后会在当前目录的得到你的cookie.txt文件,然后我就拿这个cookie.txt文件认证了,其实这节可以当作一次XSS随笔:),这个cookie文件是Netscape/Mozilla cookie文件格式,ok,现在来看bbs_sign.py

  1. #!/usr/bin/env python
  2. #-*- coding=utf-8 -*-
  3. #使用已有的cookie访问网站
  4.  
  5. import cookielib
  6. import urllib2
  7. import os
  8.  
  9. ckjar = cookielib.MozillaCookieJar()
  10. ckjar.load('/home/liet/code/python/study/web/cookie.txt')
  11.  
  12. url = 'http://xxx.xxx.com/plugin.php?identifier=dps_sign&module=sign&operation=qiandao&infloat=1&inajax=1'
  13. data = 'qdxq=kx&qdmode=1&todaysay=love+is+beautiful.so+beautiful&fastreply=1'
  14. req = urllib2.Request(url, data)
  15.  
  16. req.add_header('User-Agent','Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36')
  17. opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(ckjar))
  18.  
  19. f = opener.open(req)
  20. htm = f.read()
  21. print htm
  22. f.close()

ok,单独运行会看到签到成功的返回。。。。剩下我们把bbs_sign.py加入到crontab里,每天9点吧。。签到信息可以到sign.log里查

  1. #每天签个到 by liet
  2. * * * /usr/bin/python /root/liet/python/bbs_sign.py >> /root/liet/python/sign.log >&

python的http请求应用--每日签到的更多相关文章

  1. C语言socket编程--每日签到

    前几天写了个python的每日签到,你运行还得借助crontab,很是不爽.....正好前几天看了个关于c编写daemon进程,加上自己那点可怜的socket知识,于是我们重操旧页,C语言版的每日签到 ...

  2. PHP+MYSQL+AJAX实现每日签到功能

    一.web前端及ajax部分 文件index.html <html> <head> <meta http-equiv=Content-Type content=" ...

  3. Python中http请求方法库汇总

    最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示: 一.python自带库----urllib2 python自带 ...

  4. python模拟Get请求保存网易歌曲的url

    python模拟Get请求保存网易歌曲的url 作者:vpoet mail:vpoet_sir@163.com 日期:大约在夏季 #coding:utf-8 import requests impor ...

  5. python 发起HTTP请求

    因为微信公众号群发需要调用高级群发接口,其中涉及到python发起HTTP请求,现在将相关实现操作记录如下: 首先,HTTP请求分为GET和POST,如下所示: 首先是发起get 请求: # -*- ...

  6. 随笔——python截取http请求报文响应头

    随笔——python截取http请求报文响应头 标签: pythonhttp响应头 2014-05-29 09:32 2114人阅读 评论(0) 收藏 举报  分类: 随笔(7)  版权声明:本文为博 ...

  7. 基于【腾讯云函数】/【GitHub Actions】/【Docker】的每日签到脚本(支持多账号使用)

    每日签到集合 基于[腾讯云函数]/[GitHub Actions]/[Docker]的每日签到脚本 支持多账号使用 特别声明: 本仓库发布的脚本及其中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究 ...

  8. requests模块--python发送http请求

    requests模块 在Python内置模块(urllib.urllib2.httplib)的基础上进行了高度的封装,从而使得Pythoner更好的进行http请求,使用Requests可以轻而易举的 ...

  9. python处理ajax请求

    先要起一个服务 server.py,可以支持python的cgi脚本. #!coding:utf8 from BaseHTTPServer import HTTPServer from CGIHTTP ...

随机推荐

  1. WIFI知识累计之802.11协议radiotap头解析方法

    radiotap官方网站:http://www.radiotap.net/Radiotap 该网站详细介绍了radiotap的各个字段的长度和介绍,并包含解析代码项目地址,该文就在此网站的基础编写一些 ...

  2. 慕课网-安卓工程师初养成-1-1 Java简介

    来源 http://www.imooc.com/video/1430 主要内容 Java平台应用 核心概念:JVM,JDK,JRE 搭建Java开发环境 使用工具开发安卓程序 经验技巧分享 Java历 ...

  3. com学习前提必看

    1) COM组件实际上是一个C++类,而接口都是纯虚类.组件从接口派生而来.我们可以简单的用纯粹的C++的语法形式来描述COM是个什么东西: class IObject { public: virtu ...

  4. 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序的处理方式

    今天客户向我反映一个问题,当他们在用我们的系统导出excel表格时,报错:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序 经过找资料终于得到解决方法,记录一下. 在对应 ...

  5. 第三方登录 QQ登录 人人网登录 新浪微博登录

    http://www.pp6.cn/Index.aspx http://www.pp6.cn/Login.aspx 网站有自己的账号系统,这里使用的第三方登录仅仅是获取第三方账号的唯一id,昵称,性别 ...

  6. jQuery 的随机密码生成 .

    $.extend({ password: function (length, special) { var iteration = 0; var password = ""; va ...

  7. MyEclipse开发JAX-RS架构WebServices收发JSON数据格式

    最近因项目需求,开始学习WebServices. 1.开发环境: MyEclipse2013 2.客户端发送的JSON数据格式为 {persons:[{"name":"a ...

  8. Hibernate 常见异常

    Hibernate 常见异常net.sf.hibernate.MappingException        当出现net.sf.hibernate.MappingException: Error r ...

  9. gem5 运行x86全系统仿真

    使用gem5可以启动Linux内核,称为全系统模拟,启动之后,可以通过telent连接,进行访问,但四telent有时不稳定,gem5推荐使用m5term进行连接访问,整个步骤如下: (1)打开终端, ...

  10. sql 时间向减函数

      select datediff(d,  ( select  isnull( ( select v.VerifyDate  from   T_VerifySituation v where Orde ...