python模拟http请求2

发现了一个非常好用的第三方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‘:‘[email protected]‘,  ‘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=/

时间: 2024-11-07 12:30:46

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

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

python模拟Get请求保存网易歌曲的url 作者:vpoet 日期:大约在夏季 #coding:utf-8 import requests import json url = 'http://music.163.com//api/dj/program/byradio?radioId=271002&id=271002&ids=%5B%22271002%22%5D&limit=100&offset=0' headers = { 'Host': 'music.163.com'

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

模拟http请求有什么用呢? 我们现在使用的所有需要使用网络的:软件 应用 app 网站里面的绝大部分功能都是通过http协议来工作的 什么是http协议? http协议,超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议. 需要详细了解http请自行搜索,本文简单说一下http的请求过程 由客户端发送请求,请求为一段文字(请求报文),服务端得到请求中参数,由后端进行处理,然后执行相应的功能, 由服务端返回一段文字(响应报文,也

Python模拟http请求

1 #-*-coding:utf-8-*- 2 import urllib, urllib2 3 url = "http://www.love-sysu.com/cloud" 4 data = { 5 "name":"张小三", 6 "id":"12353032" 7 } 8 para = urllib.urlencode(data) 9 res = urllib2.urlopen(url+'?'+para

浅析HTTP中POST和GET区别并用Python模拟其响应和请求

最近在几周在做手游崩溃信息收集和上传,拿到崩溃信息后,使用的是HTTP的POST方法上传到公司共用的服务器的,因此做简单总结.本文首先简单介绍了HTTP协议,主要说明了POST方法和GET方法的区别:然后用Python实现了 对POST方法和GET方法的响应:最后用Python模拟了POST方法和GET方法的请求. HTTP协议简介 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写,简单来说它是一个应用层的协议,它允许将超文本标记语言(HTML)文档从W

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

前言 最近一段时间除了忙于工作之外,在业余时,迷上了python,对它的跨平台深深的吸引.经过一段时间的自我学习,了解了其基本的语法,便开始自己着手摆弄起来.主要想把以前对接的接口再实现一次,以便于在做中发现问题,解决问题.只看不做,没有实际的操练,永远都是纸上谈兵.在此过程中遇到了许多问题,通过不断查询资料和请教基本完善了功能.现将自我觉得比较重要的部分拿出来和大家一起探讨一下,也顺便自己对此做个记录! 模拟Http请求 在请求别人接口时,我们最常使用的是模拟Http请求.在python中有许

Python模拟HTTP的POST请求

Python版本2.7.9 模拟POST请求 1 #coding:u8 2 import urllib 3 import urllib2 4 5 url = u"http://192.168.84.182:8000/Home/GetTheme" 6 params = urllib.urlencode({'name':'tom','age':22}) 7 8 req = urllib2.Request(url,params) 9 response = urllib2.urlopen(re

python利用requests模拟http请求及请求头

一.通过requests发送请求 之前一直使用urllib以及urllib2模拟http请求发送,在实际场景中,我们需要造自己定义好的header.body等等,使用urllib很麻烦,很偶然的机会,接触到了requests,可以通过发送xml.简单易用,直接上代码: requests  connected():          #通过形参传入url以及请求参数,get方法发送请求     (param):         get = requests.get(==param)        

Python模拟HttpRequest的方法总结

Python可以说是爬网的利器,本文主要介绍了一些python来模拟http请求的一些方法和技巧. Python处理请求的类库有两个,urllib,urllib2. 这两个类库并不是一个类库的两个不同版本,urllib主要用来处理一些url相关的内容,发送请求的时候,请求对象只能是一个url.urllib2可以用request对象来实现请求,这样就可以实现如伪造头部,设置代理,http get,http post等方法. 阅读本文需要了解http请求的一些基本知识,如: 什么是httpwebre

【Python数据分析】Python模拟登录(一) requests.Session应用

最近由于某些原因,需要用到Python模拟登录网站,但是以前对这块并不了解,而且目标网站的登录方法较为复杂, 所以一下卡在这里了,于是我决定从简单的模拟开始,逐渐深入地研究下这块. 注:本文仅为交流学习所用. 登录特点:明文传输,有特殊标志数据 会话对象requests.Session能够跨请求地保持某些参数,比如cookies,即在同一个Session实例发出的所有请求都保持同一个cookies,而requests模块每次会自动处理cookies,这样就很方便地处理登录时的cookies问题.