python构造一个http请求
我们经常会用python来进行抓包,模拟登陆等等, 势必要构造http请求包。
homeReq = urllib.request.Request(
url = csdnAccessModuleUrl
)
homeReq.add_header('Accept', 'text/html, application/xhtml+xml, */*');
homeReq.add_header('Accept-Language', 'en-US')
homeReq.add_header('Accept-Encoding', 'gzip, deflate')
homeReq.add_header('Connection', 'Keep-Alive');
homeReq.add_header('Referer', 'http://passport.csdn.net/account/login?from='+urllib.parse.quote(moduleUrl))#http%3a%2f%2fwrite.blog.csdn.net%2f')
homeReq.add_header('User-Agent', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)');
#open access url
resp = urllib.request.urlopen(homeReq)
#post data
postdata = {
'u':username,
'p':password,
'remember':'1',
't':'log',
'f':urllib.parse.quote(moduleUrl),
}
postdata = urllib.parse.urlencode(postdata).encode('utf-8')
print(postdata)
req = urllib.request.Request(
url = csdnLoginUrl,
data = postdata)
req.add_header('Accept', 'text/html, application/xhtml+xml, */*');
req.add_header('Accept-Language', 'en-US')
req.add_header('Accept-Encoding', 'gzip, deflate')
req.add_header('Connection', 'Keep-Alive');
req.add_header('Referer', csdnAccessModuleUrl)
req.add_header('User-Agent', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)');
#open login url
r = urllib.request.urlopen(req)
python构造一个http请求的更多相关文章
- Python发一个GET请求
# -*- coding: utf-8 -*- try: import httplib2 except ImportError: print('错误:') print(' httplib2这个库没有找 ...
- python构造一个freebuf新闻发送脚本
前言: 放假学习完web漏洞后.想写一个脚本 然而自己菜无法像大佬们一样写出牛逼的东西 尝试写了,都以失败告终. 还有一个原因:上学时间不能及时看到,自己也比较懒.邮件能提醒自己. 需要安装的模块: ...
- python 构造一个可以返回多个值的函数
为了能返回多个值,函数直接return 一个元组就行了 看上去返回了多个值,实际上是先创建了一个元组然后返回的.这个语法看上去比较奇怪,实际上我们使用的是逗号来生成一个元组,而不是用括号 >&g ...
- Python 构造一个可接受任意数量参数的函数
为了能让一个函数接受任意数量的位置参数,可以使用一个* 参数 在这个例子中,rest 是由所有其他位置参数组成的元组.然后我们在代码中把它当成了一个序列来进行后续的计算
- Volley HTTP库系列教程(5)自定义一个Volley请求
Implementing a Custom Request Previous Next This lesson teaches you to Write a Custom Request parse ...
- 【Python】使用cmd模块构造一个带有后台线程的交互命令行界面
最近写一些测试工具,实在懒得搞GUI,然后意识到python有一个自带模块叫cmd,用了用发现简直是救星. 1. 基本用法 cmd模块很容易学到,基本的用法比较简单,继承模块下的Cmd类,添加需要的功 ...
- Python写一个自动点餐程序
Python写一个自动点餐程序 为什么要写这个 公司现在用meican作为点餐渠道,每天规定的时间是早7:00-9:40点餐,有时候我经常容易忘记,或者是在地铁/公交上没办法点餐,所以总是没饭吃,只有 ...
- 用Python写一个简单的Web框架
一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...
- python 3 处理HTTP 请求的包
http http: https://docs.python.org/3/library/http.html http是一个包,里面含有多个模块:http.client,http.server,htt ...
随机推荐
- 【HTML5开发系列】CSS3
选择器 属性 背景和边框 盒模型 布局 文本 动画 其他
- 九度OJ 1350:二叉树的深度 (二叉树)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1044 解决:614 题目描述: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长 ...
- Django开发模式会加载两次settings文件导致RotatingFileHandlerError
当使用RotatingFileHandler作为django的日志处理器的时候,会报: Traceback (most recent call last): File "C:\Python2 ...
- 16.Django提交表单
Django表单提交一共有三种方式: 1.不使用Django组件进行提交 2.使用django.forms.Form(所有表单类的父类)进行提交 3.使用django.forms.ModelForm( ...
- 3.19课·········HTML---标签与表格
HTML(Hyper Text Markup Language,超文本标记语言) <html> ------开始标签 <head>----网页上的控制信息 <title& ...
- Kattis - yoda 【字符串】
分析 给出两个串 从末尾开始对齐 每位对齐后,每一位 遍历 如果 第一串 的那位 < 第二串 的 那么 第一串的那位 就删去 如果 等于 两位 都保留 如果 大于 那么 保留 第二串的 那位 如 ...
- Python 自定义模块的打包和发布
写了一个Python模块,要求打包发布,供同事们使用,好吧,查了一下,网上大部分教程没有一个能把话说明白,不过最后还是解决了,特此记录一下, 以免下次遇到同样问题,也帮助其他有缘人,哈哈. 首先看一下 ...
- spring-cloud 实现更新配置不用重启服务 @FreshScope
继续前面搭建的spring cloud. 这里是基于rabbitMQ搭建的,首先需要在电脑上安装rabbitMQ. 在client端和server端分别加上如下依赖 compile group: 'o ...
- Ubuntu12.04等的输入法问题 中英文切换 fitcx
一般乌班图系统安装的时候会提醒大家选择安装的输入法,若大家选择中文安装,那么支持中文没得说,当选择英文安装的时候,发现整个系统环境是英文,并且根本不能输入中文,想baidu一下都是用pinyin百度, ...
- JavaScript 从对象 new 说起,简单理解 this/call/apply
new 创建一个新对象: 将构造函数的作用域赋给新对象(因此this就指向了这个新对象): 执行构造函数中的代码(为这个新对象添加属性): 返回新对象 用代码描述的话(先别管proyotype, a ...