post模拟请求

Django框架详细介绍---视图系统

只愿长相守 提交于 2020-01-02 21:33:41
Django视图系统 1.什么是视图   在Django中,一个视图函数/类,称为视图。实质就是一个用户自定义的简单函数,用来接收WEB请求并xing响应请求,响应的内容可以是一个HTML文件、重定向、一个文件、照片等。无论视图本身包含什么逻辑,都要返回响应。   一般的,视图函数一般存放于用户创建的APP目录下的views.py中。 2.视图种类   1)FBV   FBV(function base views),全称基于函数的视图,也就是在视图中使用函数处理请求, 函数内部再定义如何处理GET、POST等请求 urlpatterns = [# 班级列表 path('class_list/', views.class_list), # 创建班级 path('create_class/', views.create_class), ] def class_list(request): cla_list = models.Class.objects.all() return render(request, 'class_list.html', {'class_list': cla_list}) def create_class(request): if request.method == 'POST': # 获取班级名称 class_name = request.POST.get(

django ----视图和路由

耗尽温柔 提交于 2020-01-01 05:05:06
django的view(视图)   一个视图函数,简称视图,是一个简单python函数,他接受web请求并且返回一个响应   响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。   无论视图本身包含什么逻辑,都要返回响应。 代码写在哪里也无所谓,只要它在你当前项目目录下面 一 FBV (function based view) 基于函数视图   例子 :  # FBV版添加班级 def add_class(request): if request.method == "POST": class_name = request.POST.get("class_name") models.Classes.objects.create(name=class_name) return redirect("/class_list/") return render(request, "add_class.html") 二 CBV (class based view) 基于类的视图   例子 : # CBV版添加班级 from django.views import View # 先引入这个包 class AddClass(View): # 格式 写一个类 下面定义方法(请求方式) 这样写的好处是 不用判断是get换是post方式 def get(self

Django中的视图(view)

[亡魂溺海] 提交于 2019-12-23 00:39:28
视图 1.什么是视图   视图就是Django项目下的view.py文件,它的内部是一系列的函数或者是类,用来专门处理客户端访问请求后处理请求并且返回相应的数据,相当于一个中央情报处理系统 2.具体视图实例 3.CBV和FBV   视图文件中除了上面的用一系列的函数来对应处理客户端请求的数据逻辑外,还可以通过定义类来处理相应的逻辑,首先第一步 要想真正让CBV的方式凑效,光在视图文件中改动是不够的 所以才CBV模式下,我们可以自定义dispatch方法,来控制之下真正的方法之前之后的一些行为,达到装饰器的效果! Request对象和Response对象 request对象   当一个页面数据被请求时,Django就会将请求的所有数据自动传递给约定俗称的request这个参数,而我们只需要拿到这个参数并对其进行一系列的操作即可获得所有与操作有关的数据 1.操作request对象的相应方法 path_info 返回用户访问url,不包括域名 method 请求中使用的HTTP方法的字符串表示,全大写表示。 GET 包含所有HTTP GET参数的类字典对象 POST 包含所有HTTP POST参数的类字典对象 body 请求体,byte类型 request.POST的数据就是从body里面提取到的 属性 属性:   django将请求报文中的请求行、头部信息、内容主体封装成

Python 模拟post请求

孤街浪徒 提交于 2019-12-22 01:29:08
# coding:utf-8 import requests url = "https://passport.cnblogs.com/user/signin" # 接口地址 # 消息头数据 headers = { 'Connection': 'keep-alive', 'Content-Length': '123', 'Cache-Control': 'max-age=0', 'Origin':'https://passport.csdn.net', 'Upgrade-Insecure-Requests':'1', 'Content-Type': 'application/x-www-form-urlencoded', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'Referer': 'https://passport.csdn.net/account/login?from

Node学习笔记 函数自调用和crud增删改查

瘦欲@ 提交于 2019-12-16 16:55:39
处理 post 响应请求 在处理 get 请求方式上,express 可以使用 req.query 获得请求体数据,但是在 post 请求方式 express 并没有提供获得对应请求体的方法 若需要使用 post 处理响应请求,需要利用第三方组件 body-parser 安装 npm install --save body-parser // 简写 npm i -S body-parser 配置 // 对组件进行配置 app.use(bodyParser.urlencoded({ extended: false })) app.use(bodyParser.json()) 使用 // html <form action="接口地址" method="post">表单内容</form> // 将表单提交方式改为 post // js var bodyParser = require('body-parser') // 引入组件 app.use(bodyParser.urlencoded({ // 对组件进行配置 extended: false })) app.use(bodyParser.json()) app.post('/post', (req, res) => { // post 请求体 }) 综上所述,我们就可以利用 express、express-template

curl 模拟get和post请求

China☆狼群 提交于 2019-12-08 09:34:18
首先,模拟get请求: curlget.php <?php $url='http://localhost/lianxi/curl/post.php?name=HZD'; $ch = curl_init();// 设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上 $data=curl_exec($ch); curl_close($ch); $data=json_decode($data,TRUE); var_dump($data); ?> 输出结果: array (size=1) 'name' => 'HZD' (length=3) 模拟post请求: curlpost.php <?php $curlPost=array( 'name' => 'hzd', 'school' => 'HS' ); $urlpost='http://localhost/lianxi/curl/post.php'; $ch = curl_init();//初始化curl curl_setopt($ch,CURLOPT_URL,$urlpost);//抓取指定网页

POST模拟请求案例

烂漫一生 提交于 2019-12-08 09:29:06
本小案例,通过有道词典的查询,模拟post请求的过程: 在浏览器和服务器交互过程中Get和Post的区别 Get:请求URL会附带查询参数; POST:请求的URL不带参数; 对于Get的请求:查询参数在QueryString里面保存 对于Post请求:查询参数在Form表单里面保存 程序中的url,headers,formdata表单是通过Fiddler网络抓包获取的;因为有道网页会反爬虫,相关的表单参数会又所变化。说以要学会在Fiddler种灵活获取相关的表单。 表单在sublime text环境下操作比较方便,正则表达式批量替换,其中^:行开头,$:行尾(这样表示是以每一行的形式替换的) ^(.*)=(.*)$ "\1":"\2", 如果中间有空格的话,用\s 实现例程如下: #!/usr/bin/env python # coding=utf-8 import urllib import urllib2 #通过抓包方式获取的url地址,不是浏览器上的 url="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule" headers={ #"connection":"keep-alive", # "accept":"application/json, text/javascript, */*;

python模拟get/post请求登录

两盒软妹~` 提交于 2019-12-08 09:28:23
今天学习了python模拟登陆,然后自己进行一下总结,以csdn登录为例子,浏览器为Chrome 1:直接携带cookie请求url地址 1.1cookie放在headers中 import requests #1.直接携带cookie请求URL地址 url="https://www.csdn.net/" #cookie放在headers中 headers={"User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Mobile Safari/537.36", "Cookie": " cookies值" } response=requests.get(url,headers=headers) with open('csdn1.html','w',encoding='utf-8') as f: f.write(response.content.decode()) 这样生成的csdn1.html文件打开就是你的csdn主页。 这里又有一个新的问题,就是我的cookie值在哪里找? 右键点击登录进去之后的页面,会出现以下形式,然后就可以找到cookie值。 1

Java 编写 HTTP POST访问接口,传递普通参数与图片文件参数

烈酒焚心 提交于 2019-12-07 10:07:32
在开发中,我们使用的比较多的HTTP请求方式基本上就是GET、POST。其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等。而我们在使用HTTP请求时中遇到的比较麻烦的事情就是构造文件上传的HTTP报文格式,这个格式虽说也比较简单,但也比较容易出错。今天我们就一起来学习HTTP POST的报文格式以及通过Java来模拟文件上传的请求。 啥都不说直接上代码,能用记得点赞: /** * * @Function: HttpClient.java 上传文件到指定地址URL * @param urlStr 请求地址 * @param files 文件map集合 * @param params 参数集合 * * @version: v1.0.0 * @author: 白毅 * @date: 2019年2月22日 下午5:33:41 */ public String uploadFile(String urlStr, Map<String, File> files, Map<String, String> params) { try { // 换行符 final String LINEND = "\r\n", MULTIPART_FROM_DATA = "multipart/form-data", PREFIX = "--"; String BOUNDARY

爬虫基本原理,post、get请求

耗尽温柔 提交于 2019-12-05 15:17:08
一、爬虫介绍:   -本质,     -就是想网站发送http请求,拿回一些页面/json格式数据(request)     -处理数据,解析出有用的东西(re,bs4)     -存储(mysql,文件,cvs,redis,MongoDB,es)     -分析   -cookie池和代理池     -爬视频     -正向代理和反向代理       (正向代理-代理自己,反向代理-代理服务器) 爬虫运用模块   -requests模块     -爬视频   -beautiflsoup     -requests+bs4爬新闻   -selenium     -购物网站   -request-html     -模拟登陆知乎(破解加密登陆)   -破解验证码   -mogodb   -高性能相关   -scrapy框架(爬虫界的django)   -分布式爬虫 scrapy-redis 1、requests模块   -基于get和post请求 import requests # get 请求 res = requests.get('https://www.baidu.com/s', # get请求携带参数 params={'wd': '美女'}, # 请求头的信息 headers={ 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1;