post请求

C#中自己动手创建一个Web Server(非Socket实现)

这一生的挚爱 提交于 2019-11-30 12:14:26
原文地址:https://www.cnblogs.com/mq0036/p/6656888.html 最近有个web的小项目,但公司的电脑无法安装IIS,所以就想自己来实现个Web server服务器,原本想了下,也就是socket处理http请求,于是就在博客园中搜索了“socket实现web server”,结果还真搜索到一些文章,于是从中找了几个做参考,如下: C#中使用Socket实现简单Web服务器 C#中使用Socket模拟请求Web服务器过程 C#中自己动手创建一个Web Server(非Socket实现) 其他的这里就不一一列出了,感兴趣的可以自己搜索看看。 所以我根据他们的代码,然后自己在修改符合自己使用的情况,初次版本就出来了,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; namespace socket_webServer { class Program { static Socket _socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream,

vue -- axios封装和api接口管理

随声附和 提交于 2019-11-30 10:29:08
axios封装【https://juejin.im/post/5b55c118f265da0f6f1aa354】 在vue项目中,一般和后台数据交互获取,使用的是axios库,它是基于promise的http库,可运行到浏览器和node.js中。 axios的特性: 拦截请求和响应; 取消请求; 转换JSON 客户端防御XSRF等 安装: npm install axios; //安装axios 引入:【可以在项目的src中,新建一个request文件夹,然后里面新建两个文件,http.js和api.js。http.js文件用来封装axios,api.js文件用来统一管理我们的接口。】 //在http.js中引入axios import axios from 'axios'; //引入axios import QS from 'qs'; //引入qs模块,用来序列化post类型的数据 环境的切换:【项目中有开发环境、测试环境和生产环境,我们通过node的环境变量来匹配我们的默认接口url前缀。】 //环境的切换 if(process.env.NODE_ENV == 'development'){ axios.defaults.baseURL = 'https://www.baidu.com';//开发地址 } else if (process.env.NODE_ENV ==

【转】django rest framework ModelSerializer 、serializers小结

旧时模样 提交于 2019-11-30 09:45:35
转自: https://blog.csdn.net/l_vip/article/details/79156113 引言   serializers是什么?官网是这样的”Serializers allow complex data such as querysets and model instances to be converted to native Python datatypes that can then be easily rendered into JSON, XML or other content types. “翻译出来就是,将复杂的数据结构变成json或者xml这个格式的。      在最近的学习中,个人看法,serializers有以下几个作用:    - 将queryset与model实例等进行序列化,转化成json格式,返回给用户(api接口)。   - 将post与patch/put的上来的数据进行验证。    - 对post与patch/put数据进行处理。  (后面的内容,将用patch表示put/patch更新,博主认为patch更贴近更新的说法)   简单来说,针对get来说,serializers的作用体现在第一条,但如果是其他请求,serializers能够发挥2,3条的作用!   **本文比较长,用张图简单介绍一下主要内容**

Django之AJAX请求

家住魔仙堡 提交于 2019-11-30 08:37:34
---恢复内容开始---    一、choice字段     1.实列   前端代码 <div class='container'> <div class="row"> <h3>用户详情表</h3> <div class="col-md-8 col-md-offset-2"> <table class="table table-striped table-bordered table-hover"> <thead> <tr> <th>序号</th> <th>id</th> <th>用户名</th> <th>密码</th> <th>年龄</th> <th>性别</th> <th>操作</th> </tr> </thead> <tbody> {% for user in user_list %} <tr> <td>{{ forloop.counter0 }}</td> <td>{{ user.pk }}</td> <td>{{ user.username }}</td> <td>{{ user.password }}</td> <td>{{ user.age }}</td> //choice 在前端不需要加括号 <td>{{ user.get_gender_display }}</td> <td> <a href="" class="btn btn-success">操作</a> <a

03.Django基础三之视图函数

偶尔善良 提交于 2019-11-30 06:32:51
一 Django的视图函数view      一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。   响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。   无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你当前项目目录下面。除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为 views.py 的文件中。 一个简单的视图   下面是一个以HTML文档的形式返回当前日期和时间的视图: from django.http import HttpResponse import datetime def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html)   让我们来逐行解释下上面的代码: 首先,我们从 django.http 模块导入了 HttpResponse 类,以及Python的 datetime 库。 接着,我们定义了 current

php curl 发送post请求带参数

烂漫一生 提交于 2019-11-30 02:51:00
public function curl_post($url , $data=array()){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // POST数据 curl_setopt($ch, CURLOPT_POST, 1); // 把post的变量加上 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $output = curl_exec($ch); curl_close($ch); return $output; } 来源: https://www.cnblogs.com/photo520/p/11548291.html

HTTP

蹲街弑〆低调 提交于 2019-11-30 02:19:37
目录 HTTP协议 1. 如何理解HTTP协议 2. HTTP都有那些版本 2.2 HTTP 1.X 与 HTTP 2.0区别 2.2.1 解析格式不同 3.1 GET与POST方法的区别 4. HTTP访问过程 5. URI 格式 6. HTTP报文格式 6.1 请求头 6.2 响应头 6.3 实体头 6.4 扩展头 7. HTTP状态码 8. Web访问过程 9. web服务器如何与HTTP协作 10. HTTP首部信息 10.1 报文首部 11. WEB攻击技术 HTTPS协议 1. 如何理解HTTPS协议 2. 加密与解密过程 2.1 加密方法 3. 什么是用户身份认证 4. 常见WEB的攻击技术 TCP协议 1. TCP建立过程 2. TCP断开过程 3. TCP中间过程的理解 4. TCP报文格式 wireshark 使用手册 Curl 使用方法 Wget 使用方法 性能测试 1. AB 2. Siege 3. WRK 4. Load_Runner 5. Apache JMeter 攻击工具 1. Burpsuite 2. wrs 1. XSS攻击 2. CSRF 3. Sql 注入攻击 LINUX 1. Linux命令行学习 2. 学习LINUX框架 3. AWK 1. HTTP 概念 1.1 HTTP是什么 2. HTTP 版本发展 3. HTTP 报文格式 4.

【HTTP协议】---HTTP协议详解

一世执手 提交于 2019-11-29 22:07:22
【HTTP协议】---HTTP协议详解 HTTP协议详解 一.HTTP简介 1.HTTP协议,即 超文本传输协议 (Hypertext transfer protocol)。是一种详细规定了 浏览器和万维网(WWW = World Wide Web)服务器 之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 2.HTTP协议作为TCP/IP模型中应用层的协议也不例外。HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图: 3.HTTP是一个 应用层协议 ,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个 无状态 的协议。 4.HTTP默认的端口号为 80 ,HTTPS的端口号为 443 。 5.浏览网页是HTTP的主要应用,但是这并不代表HTTP就只能应用于网页的浏览。HTTP是一种协议,只要通信的双方都遵守这个协议,HTTP就能有用武之地。比如咱们常用的QQ,迅雷这些软件,都会使用HTTP协议(还包括其他的协议)。 二.HTTP特点 1、 简单快速 :客户向服务器请求服务时,只需传送 请求方法 和 路径 。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、 灵活 :HTTP允许 传输任意类型的数据对象 。正在传输的类型由Content-Type加以标记。 3、

小米商品和腾讯招聘多线程爬取

风流意气都作罢 提交于 2019-11-29 22:00:27
该博文转载自:https://www.cnblogs.com/LXP-Never/p/11378709.html 目录   小米应用商店抓取(多线程)   腾讯招聘数据抓取(Ajax) 应用场景 1、多进程 :CPU密集程序 2、多线程 :爬虫(网络I/O)、本地磁盘I/O 知识点回顾 队列 # 导入模块 from queue import Queue # 使用 q = Queue() q.put(url) q.get() # 当队列为空时,阻塞 q.empty() # 判断队列是否为空,True/False 线程模块 # 导入模块 from threading import Thread ​ # 使用流程 t = Thread(target=函数名) # 创建线程对象 t.start() # 创建并启动线程 t.join() # 阻塞等待回收线程 小米应用商店抓取(多线程) 目标 网址 :百度搜 - 小米应用商店,进入官网,应用分类 - 聊天社交 目标 :爬取应用名称和应用链接 实现步骤 1、确认是否为动态加载 1、页面局部刷新 2、右键查看网页源代码,搜索关键字未搜到,因此此网站为动态加载网站,需要抓取网络数据包分析 2、F12抓取网络数据包 1、抓取返回json数据的URL地址(Headers中的Request URL) http://app.mi.com

通过scrapy,从模拟登录开始爬取知乎的问答数据

寵の児 提交于 2019-11-29 21:18:51
这篇文章将讲解如何爬取知乎上面的问答数据。 首先,我们需要知道,想要爬取知乎上面的数据,第一步肯定是登录,所以我们先介绍一下模拟登录: 先说一下我的思路: 1.首先我们需要控制登录的入口,重写start_requests方法。来控制到这个入口之后,使用callback回调函数来调用login函数. 2.在login函数中通过response.text获取到该页面的HTML代码,通过正则表达式提取到登录必需的xsrf值。 3.下面就是获取验证码了,这是一个难点,首先我们先观察在请求验证码时的url: 可以发现,在请求验证码时出现了一个r后面的随机数,所以我们需要生成一个随机数,并将该随机数作为参数传给请求验证码时的url;然后将该url交给scrapy下载器进行下载。 4.然后通过回调函数调用login_after_captcha ,在该函数中我们需要在请求验证码的url下载到验证码图片,让用户输入验证码并赋值给变量captcha。然后将xsrf、用户名、密码、验证码等参数存入postdata。我们就可以进行模拟登录了。 5.通过调用scrapy的FormRequest来进行模拟登录 6.模拟登录之后,调用check_login函数判断是否登录成功。 下面是模拟登录部分的源码: def start_requests(self): #控制登录入口,实现知乎的登录 return