post请求

爬虫(四)requests模块1

寵の児 提交于 2020-01-10 20:09:23
引入 Requests 唯一的一个 非转基因 的 Python HTTP 库,人类可以安全享用。 警告 :非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。 今日概要 基于requests的get请求 基于requests模块的post请求 基于requests模块ajax的get请求 基于requests模块ajax的post请求 综合项目练习:爬取国家药品监督管理总局中基于中华人民共和国化妆品生产许可证相关数据 知识点回顾 常见的请求头 常见的相应头 https协议的加密方式 今日详情 - 基于如下5点展开requests模块的学习 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。 为什么要使用requests模块 因为在使用urllib模块的时候,会有诸多不便之处,总结如下: 手动处理url编码 手动处理post请求参数 处理cookie和代理操作繁琐 ...... 使用requests模块: 自动处理url编码 自动处理post请求参数 简化cookie和代理操作 ...... 如何使用requests模块 安装: pip install requests 使用流程

爬虫之重要的requests模块

烈酒焚心 提交于 2020-01-10 20:08:42
一 . requests模块 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。 为什么要使用requests模块 因为在使用urllib模块的时候,会有诸多不便之处,总结如下: 手动处理url编码 手动处理post请求参数 处理cookie和代理操作繁琐 ...... 使用requests模块: 自动处理url编码 自动处理post请求参数 简化cookie和代理操作 ...... 如何使用requests模块 安装: pip install requests 使用流程 指定url 基于requests模块发起请求 获取响应对象中的数据值 持久化存储 二 . 案例详情    1. 案例一 : 爬取搜狗指定词条搜索后的页面数据      基于requests模块的get请求 import requests import os #指定搜索关键字 word = input('enter a word you want to search:') #自定义请求头信息 headers={ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36

POST/GET请求中RequestBody和RequestParam的应用场景

喜你入骨 提交于 2020-01-09 17:22:29
POST请求时 @RequestBody --> JSON字符串部分 @RequestParam --> 请求参数部分 application/json格局图 图一.png form-data、x-www-form-urlencoded格局图 图二.png 1、从content-type方面总结: ① form-data、x-www-form-urlencoded:不可以用@RequestBody;可以用@RequestParam。见postman的格局,这两种方式的时候没有json字符串部分。 ② application/json:json字符串部分可以用@RequestBody;url中的?后面参数可以用@RequestParam。见postman的格局 2、从两种注解方式总结: @RequestBody (@RequestBody Map map) (@RequestBody Object object) application/json时候可用 form-data、x-www-form-urlencoded时候不可用 @RequestParam (@RequestParam Map map) application/json时候,json字符串部分不可用,url中的?后面添加参数即可用,见图一 form-data、x-www-form-urlencoded时候可用

java基础77 Http协议及Servlet中的GET、POST提交方式

北战南征 提交于 2020-01-09 02:42:40
本文知识点(目录): 1、什么是http协议 2、查看http协议的工具 3、http协议的内容 4、请求方式 5、请求头和响应头(以及获取请求头信息的方法) 6、实体内容 7、获取传递的请求参数 8、附录1、2、3、4 1、什么是http协议 http协议:是对浏览器(客户端)和服务端之间的数据传输的格式规范 2、查看http协议的工具 1)使用火狐--->右击选择”查看元素”/”检查”--->网络--->点击里面你的访问页面即可显示(如下图中的index.jsp) 2)使用谷歌--->右击选择”审查元素”/”检查”--->NetWork--->Headers 3)使用系统自带的telnet工具(远程访问工具) (命令提示符) a)telnet localhost 8080 访问tomcat服务器 b)ctrl+] 回车 可以看到回显 c)请输入请求内容: GET /MyServlet/index.jsp HTTP/1.1 Host: localhost:8080 d)回车,即可查看到服务器响应的信息 3、http协议的内容 项目中index.jsp页面的内容 1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 2 <% 3 String path = request

关于iframe标签的src属性

雨燕双飞 提交于 2020-01-09 00:49:08
iframe标签的src属性会发起一个get请求,这个不是检查在xhr里面看到的,直接看all,如果你看到xhr里面有post请求,并不是iframe的src能发送post请求,而是src请求回来的页面,里面有form表单等发起的post请求 来源: https://www.cnblogs.com/antyhouse/p/12169280.html

Requests库发送post请求,传入接口参数后报JSON parse error

本秂侑毒 提交于 2020-01-08 22:19:11
报错信息: {"timestamp":"2020-01-08T14:42:40.894+0000","status":400,"error":"Bad Request","message":"JSON parse error: Cannot deserialize instance of `java.util.ArrayList` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList` out of VALUE_STRING token\n at [Source: (PushbackInputStream); line: 1, column: 1]","path":"/home/brand/create"} 原因:发送post请求,传入参数,想当然的以为是{}形式,结果调用的接口是[{}]形式,对接口了解不够。 来源: https://www.cnblogs.com/lengjf/p/12168924.html

4.HTTP入门

可紊 提交于 2020-01-08 12:58:27
什么是http协议 查看http协议的工具 http协议内容 Http请求 请求行 http协议版本 请求资源 请求方式 GET方式提交 POST方式提交 请求头 3.3 实体内容 3.4 HttpServletRequest对象 Demo: HTTP 响应 响应行 http协议版本 状态码: 服务器处理请求的结果(状态) 状态描述 常见的响应头 HttpServletResponse对象 页面跳转-使用Location头 定时刷新-使用Refresh 定义下载 项目中的编码问题 什么是http协议 http协议:对浏览器客户端 和 服务器端 之间数据传输的格式规范 查看http协议的工具 使用火狐的firebug插件(右键->firebug->网络) 使用谷歌的“审查元素” 使用系统自带的telnet工具(远程访问工具) telnet localhost 8080 访问tomcat服务器 ctrl+] 回车 可以看到回显 输入请求内容 GET /day09/hello HTTP/1.1Host: localhost:8080 * 回车,即可查看到服务器响应信息。 http协议内容 请求(浏览器-》服务器)GET /day09/hello HTTP/1.1Host: localhost:8080User-Agent: Mozilla/5.0 (Windows NT 6.1;

用emacs(org2blog)发布cnblogs

孤街浪徒 提交于 2020-01-08 03:56:43
用emacs(org2blog)发布cnblogs,可以添加 删除 修改,但是tag 分类有问题 经过修改了org2blog的部分代码之后,就可以再cnblog发布了. 基本的思想是这样 根据 http://www.cnblogs.com/atskyline/services/metaweblog.aspx 提供的API,删除掉一些在org2blog代码中一些不可用的代码和参数,因为org2blog是为wordpress设计的. 按照我的方式修改之后,也许支持原来的BLOG可能会有一些问题,这个具体的我就没有测试了. 下载安装org-mode的最新版本 具体参见: http://orgmode.org/ 下载安装org2blog 具体参见: https://github.com/punchagan/org2blog 3.修改org2blog.el 把320到333行的内容删去,因为这两个变量需要的方法cnblogs不支持 org2blog/wp-tags-list (mapcar (lambda (tag) (cdr (assoc "slug" tag))) (wp-get-tags org2blog/wp-server-xmlrpc-url org2blog/wp-server-userid org2blog/wp-server-pass org2blog/wp-server

nginx源码分析——http多阶段处理

帅比萌擦擦* 提交于 2020-01-07 07:56:28
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. 多阶段处理概述 nginx将一个http请求分为顺序的多个处理阶段,前一个阶段的结果会影响后一个阶段的处理。例如,ngx_http_access_module模块根据IP信息拒绝一个用户请求后,本应接着执行的其他HTTP模块将没有机会再处理这个请求。 nginx之所以要把http请求的处理过程分为多个阶段,是因为nginx的模块化设计使得每一个http模块可以仅专注于完成一个独立的、简单的功能,而一个请求的完整处理过程可以由无数个HTTP模块共同合作完成。这种设计有非常好的简单性、可测试性、可扩展性,然而,当多个HTTP模块流水式地处理同一个请求时,单一的顺序是无法满足灵活性需求的,每一个正在处理请求的HTTP模块很难灵活、有效地指定下一个HTTP处理模块时哪一个。而且,不划分处理阶段也会让HTTP请求的完整处理流程难以管理,每一个HTTP模块也很难正确的将自己插入到完整流程的合适位置中。 nginx依据常见的处理流程将处理阶段划分为11个阶段,其中每个处理阶段都可以由任意多个HTTP模块流水式地处理请求。对于这11个处理阶段,有些阶段是必备的,有些阶段是可选的,当然也可以有多个HTTP模块同时介入同一处理阶段。 2. 多阶段处理相关的结构体 阶段的枚举定义 typedef enum { //

vue 请求get、post

自闭症网瘾萝莉.ら 提交于 2020-01-06 21:44:46
先安装vue-resource npm install vue-resource 在main.js中引入 import Vue from 'vue' import App from './App' import router from './router' import VueResource from 'vue-resource' Vue.config.productionTip = false Vue.use(VueResource); /* eslint-disable no-new */ new Vue({ el: '#app', router, components: { App }, template: '<App/>' }) get的请求 this.$http.get('服务端地址',{ params:{ 你需要传递的参数 } }).then(function (result) { console.log(result)//返回结果输出控制板上 } }); post的请求在上面也是差不多的,不同的业务根据情况改动 来源: CSDN 作者: qq_42336005 链接: https://blog.csdn.net/qq_42336005/article/details/103847912