发现了一个非常好用的第三方module:requests,模拟接口非常简单。

详细了解请移步:http://docs.python-requests.org/en/latest/

非常不错

#!coding:utf-8    相信这句大家都懂的,不解释

#导入需要的requests

import requests

#定义请求头

reqheaders={'Content-type':'application/x-www-form-urlencoded',  'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',  'Host':'www.renren.com',  'Origin':'http://zhichang.renren.com',  'Referer':'http://zhichang.renren.com',  'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1',}

#定义post的参数,requests模块,参数不用编码

reqdata={'email':'xxxx@xxx.com',  'password':'xxxx',  'autoLogin':'on',  'origURL':'http://zhichang.renren.com/?login_state=rr',  'domain':'renren.com' }

#模拟post请求,不让自动重定向

res=requests.post("http://www.renren.com/PLogin.do",data=reqdata,headers=reqheaders,allow_redirects=False)

#模拟post请求,这个是自动重定向

#res=requests.post("http://www.renren.com/PLogin.do",data=reqdata,headers=reqheaders)

#打印服务器返回的状态

print(res.status_code)

#打印服务器返回的内容

print(res.content)

#打印重定向的URL地址

print(res.headers['Location'])

#打印服务器返回的cookie

print(res.headers['Set-Cookie'])

以下是程序的运行结果

302

The URL has moved <a href="http://zhichang.renren.com/?login_state=rr">here</a>

anonymid=hrt38gcmbjulj4; domain=.renren.com; path=/; expires=Sun, 17-Feb-2019 11:27:44 GMT, _de=97FB170A42B4342D1C47A157AD77AAFC1383380866D39FF5; domain=.renren.com; path=/; expires=Fri, 13-Feb-2015 11:27:44 GMT, p=31991a0a194c34e606ef1263317b06372; domain=renren.com; path=/; expires=Thu, 20-Mar-2014 11:27:44 GMT, ap=229996362; domain=renren.com; path=/; expires=Thu, 20-Mar-2014 11:27:44 GMT, first_login_flag=1; domain=renren.com; path=/, t=7f5cc046700354f79346b8b51f2361882; domain=.renren.com; path=/, t=b28114ad2246bad1b6b67f07b3b6c0a3; domain=renren.com; path=/xtalk/, societyguester=7f5cc046700354f79346b8b51f2361882; domain=.renren.com; path=/, id=229996362; domain=.renren.com; path=/, xnsid=bb3f9425; domain=.renren.com; path=/, loginfrom=syshome; domain=.renren.com; path=/

python模拟http请求2的更多相关文章

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

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

  2. python模拟http请求

    下文主要讲述如何利用python自带的库模拟http请求,为以后利用python做API测试做准备. 只讲述模拟http的过程,具体到自己用的时候,要以自己的应用为准做出适当的调整. #!coding ...

  3. 教你如何用Python模拟http请求(GET,POST)

    模拟http请求有什么用呢? 我们现在使用的所有需要使用网络的:软件 应用 app 网站里面的绝大部分功能都是通过http协议来工作的 什么是http协议? http协议,超文本传输协议(HTTP,H ...

  4. Python 模拟post请求

    # coding:utf-8import requestsurl = "https://passport.cnblogs.com/user/signin" # 接口地址 # 消息头 ...

  5. 第五十九节,模拟浏览器请求Python结合html基本格式

    模拟浏览器请求Python结合html基本格式 用Python模拟一个客户端,结合打开一个HTML页面 创建客户端 #!/usr/bin/env python # -*- coding:utf8 -* ...

  6. python利用requests库模拟post请求时json的使用

    我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POS ...

  7. Python数据库访问公共组件及模拟Http请求

    前言 最近一段时间除了忙于工作之外,在业余时,迷上了python,对它的跨平台深深的吸引.经过一段时间的自我学习,了解了其基本的语法,便开始自己着手摆弄起来.主要想把以前对接的接口再实现一次,以便于在 ...

  8. python入门常用方法(转json,模拟浏览器请求头,写入文件)

    转json import jsonjson = json.loads(html) 模拟浏览器请求头 import urllib.request req = urllib.request.Request ...

  9. [Python] Python 模拟登录,并请求

    Python 模拟登录,并请求 # encoding: utf- import requests import socket import time socket.setdefaulttimeout( ...

随机推荐

  1. 【HDOJ】【3709】Balanced Bumber

    数位DP 题解:http://www.cnblogs.com/algorithms/archive/2012/09/02/2667637.html dfs的地方没太看懂……(也就那里是重点吧喂!)挖个 ...

  2. 初尝backbone

    backbone的基础知识在此将不再进行介绍.自己后续应该会整理出来,不过今天先把这几天学的成果用一个demo进行展示. 后续可运行demo将会在sinaapp上分享,不过近期在整理sinaapp上d ...

  3. PAT-乙级-1048. 数字加密(20)

    1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固 ...

  4. Zabbix 安装及微信短信提醒

    Zabbix简介 Zabbix 近几年得到了各大互联网公司的认可,当然第一点归功与它强大的监控功能,第二点免费开源也得到了广大用户的青睐.Zabbix 能将操作系统中的绝大部分指标进行监控,比如(CP ...

  5. HDU3068 最长回文 Manacher算法

    Manacher算法是O(n)求最长回文子串的算法,其原理很多别的博客都有介绍,代码用的是clj模板里的,写的确实是异常的简洁,现在的我只能理解个大概,下面这个网址的介绍比较接近于这个模板,以后再好好 ...

  6. 简单易懂的现代魔法——Play Framework攻略4

    接前文:简单易懂的现代魔法——Play Framework攻略3 1.The Object 时隔2个多月,Play Framework系列又更新了,本次的主题是:利用Play Framework实现R ...

  7. Thread的第二天学习

    1.Timer 2.TimerTask 3.new Timer().schedule(new TimerTask(    public void run(){...}    ),long/date [ ...

  8. HTTP 408请求超时错误解决办法

    错误描述 对于大多数网站而言,我们所看到的错误消息已经是开发者定制过的页面,比如我们最常见的自定义404错误页面,一般而言,我们看到的408错误应该是类似这样的提示:“408:Request Time ...

  9. yum工具介绍

    当你的linux处于联网状态时,yum工具能够非常方便的在Linux上安装各种软件.补丁等等,而且最重要的一点是完全不用管包的依赖关系.只需要简单的指定你要安装的软件名称,其他工作几乎都交给yum了, ...

  10. 在浏览器控制台输出内容 console.log(string);

    在浏览器控制台中写如数据 1添加    <script type="text/javascript">djConfig = { isDebug: true };< ...