post模拟请求

2020年PHP 面试问题(一)

狂风中的少年 提交于 2020-03-31 21:44:19
1.get,post 的区别 1、GET在浏览器回退时是无害的,而POST会再次提交请求。 2、GET产生的URL地址可以被Bookmark,而POST不可以。 3、GET请求会被浏览器主动cache,而POST不会,除非手动设置。 4、GET请求只能进行url编码,而POST支持多种编码方式。 5、GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 6、GET请求在URL中传送的参数是有长度限制的,而POST没有。 7、对参数的数据类型,GET只接受ASCII字符,而POST没有限制。 8、GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。 9、GET参数通过URL传递,POST放在Request body中。 10、GET产生一个TCP数据包,POST产生两个TCP数据包 2.require,include 区别 require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require include有返回值,而require没有(可能因为如此require的速度比include快) 包含文件不存在或者语法错误的时候require是致命的错误终止执行,include不是 3.PHP 的垃圾回收机制 PHP 可以自动进行内存管理,清除不需要的对象。 PHP 使用了引用计数

php curl模拟post请求提交数据例子总结

一笑奈何 提交于 2020-02-28 01:26:22
php curl模拟post请求提交数据例子总结 [导读] 在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考。注意:curl函数在php中默认是不被支持的,如果需要使用curl函数我们需在改一改 在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考。 注意:curl函数在php中默认是不被支持的,如果需要使用curl函数我们需在改一改你的php.ini文件的设置,找到php_curl.dll去掉前面的";"就行了 例1 代码如下 复制代码 <?php $uri = "http://tanteng.duapp.com/test.php"; // 参数数组 $data = array ( 'name' => 'tanteng' // 'pass word ' => 'password' ); $ch = curl_init (); // print_r($ch); curl_setopt ( $ch, CURLOPT_URL, $uri ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl

谈\"http get和post的区别\"

做~自己de王妃 提交于 2020-02-27 02:04:48
——以下内容如有各种问题,烦请指出,谢谢各位^_^—— 最基本的Java程序员面试题都有这个题 ——http get和post的区别? 不少人大学还没毕业就知道,就算不知道也会去搜,我记得我快毕业那会,简单搜出来,排在前面的大概就这么几个区别: 1、get用于获取数据,post用于提交数据 2、get提交参数追加在url后面,post参数可以通过http body提交 3、get的url会有长度上的限制,则post的数据则可以非常大 4、get提交信息明文显示在url上,不够安全,post提交的信息不会在url上显示 5、get提交可以被浏览器缓存,post不会被浏览器缓存 现在回头总结下,发现自己快毕业哪会自己真是什么都不知道啊,当时网上搜出来的这份东西就是有误的啊,国内也是各种传来传去,错误的到处 看得到,都快成标准答案了。今年5月用netty http 些服务端程序时,调接口无意发现了原来get也可以使用http body提交数据,抽空弄了下tomcat,发现也可以啊。今天整理笔记看到了这里,觉得有必要在博客上记录一下,避免后来人继续犯错。 一点一点的说 第1点:rfc2616说get方法用于获取指定uri所代表的资源,应该设计成幂等的(其他情况不变时,多次请求返回同样的结果,差不多算是只读),不过在很长一段时间内,get方法都有“写”功能,最简单的例子就是/delete

curl 模拟 GET\\POST 请求,以及 curl post 上传文件

情到浓时终转凉″ 提交于 2020-02-17 13:38:02
curl 模拟 GET\POST 请求,以及 curl post 上传文件 一般情况下,我们调试数据接口,都会使用一个 postman 的工具,但是这个工具还是有点大了。事实上,我们在调试一些小功能的时候,完全没有必要使用它。在命令行中,我们使用 curl 这个工具,完全可以满足我们轻量的调试要求。 下面,我们来简单的说一下,curl 的一些常见使用方法: curl GET 请求 curl命令 + 请求接口的地址。 curl localhost:9999/api/daizhige/article 如上,我们就可以请求到我们的数据了,如果想看到详细的请求信息,我们可以加上 -v 参数 curl localhost:9999/api/daizhige/article -v 操作结果如下图所示: curl POST 请求 我们可以用 -X POST 来申明我们的请求方法,用 -d 参数,来传送我们的参数。 所以,我们可以用 -X PUT 和 -X DELETE 来指定另外的请求方法。 curl localhost:9999/api/daizhige/article -X POST -d "title=comewords&content=articleContent" 如上,这就是一个普通的 post 请求。 但是,一般我们的接口都是 json 格式的,这也没有问题。我们可以用 -H

Mock接口平台Moco学习

我的梦境 提交于 2020-02-17 12:18:04
Mock就是模拟接口的。本文学习Mock的 Moco开源框架。 Moco源码和jar下载地址: git jar 下载moco-runner-0.12.0-standalone.jar moco的启动及第一个demo Step1: 在项目中创建一个package:moco,并将下载的jar包放在该package下。 Step2:创建一个json文件,格式如下: [ { "description":"This is my first mock demo", "request":{ "uri":"/demo" }, "response":{ "text":"This is response" } } ] Step3:cmd进入到该package下,运行命令:java -jar ./moco-runner-0.12.0-standalone.jar http -p 8888 -c startup1.json 在命令行中出现,则命令运行成功 29 Apr 2019 14:31:54 [main] INFO Server is started at 8888 29 Apr 2019 14:31:55 [main] INFO Shutdown port is 52901 Step4:打开浏览器,输入 localhost:8888.在浏览器上就可以看到我们在json文件中定义的数据。

论Get和Post请求方法的差异

被刻印的时光 ゝ 提交于 2020-02-15 07:47:30
文章目录 HTTP Get请求方法 Post请求方法 Get请求和Post请求有何不一样呢 HTTP HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议 Get请求方法 Get是基于HTTP通信协议的一种请求方法,底层也是TCP/IP,是TCP连接,对于Get方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据),直观点看Get把参数包含在URL中,只进行URL编码,其过程的参数会被浏览器记录。 Post请求方法 post是基于HTTP通信协议的一种请求方法,底层也是TCP/IP,是TCP连接,对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200(返回数据),直观点Post通过request body传递参数。 Get请求和Post请求有何不一样呢 在HTTP的底层是TCP/IP,所以GET和POST的底层也是TCP/IP,也就是说GET/POST都是TCP链接。GET和POST能做的事情是一样一样的,那到底哪里不一样呢? 一、GET请求把http header和data一并发送出去,而POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data。 二、GET产生的URL地址可以被Bookmark,而POST不可以。 三

PHP模拟发送POST请求之三、用Telnet和fsockopen()模拟发送POST信息

本秂侑毒 提交于 2020-02-12 04:39:35
了解完了HTTP头信息和URL信息的具体内容,我们开始尝试自己动手写一段头信息发送到服务器。Windows内置命令Telnet可以帮助我们发送简单的HTTP请求。 并且TELNET是一个特别灵活的工具,我们还可以用它进行FTP/SMTP/POP3/TCP等方式的简单请求。 通过开始菜单--运行--CMD命令进入DOS状态, 我们输入“Telnet 主机地址 端口(Telnet 192.168.1.99 80)” 来进入telnet命令状态(完全黑窗口,此时输出字符会出问题),我们按”ctrl”+”]”,切回普通CMD窗口,再按”ENTER”回车键进入编辑命令状态。 如果系统提示找不到TELNET命令,只需按如下方式可解锁TELNET命令。 进入TELNET 命令输入模式后我们就可以直接编辑头文件来进行发送了 只需要注意:当编辑完请求头文件后要按两次回车键来发送。 这是一次标准的HTTP请求与响应,是不是跟上节的HTTP文件关联了。 当然我们不能只用这么不方便的工具,下面要介绍的是PHP里的 fsockopen() 方法。 先来看fsockopen()方法的原型: resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout =

HttpClient详细解释

泪湿孤枕 提交于 2020-01-28 00:58:03
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会更加深入。 org.apache.commons.httpclient.HttpClient与org.apache.http.client.HttpClient的区别 Commons的HttpClient项目现在是生命的尽头,不再被开发, 已被Apache HttpComponents项目HttpClient和的HttpCore 模组取代,提供更好的性能和更大的灵活性。 一、简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。 下载地址: http://hc.apache.org

Django的views视图系统

淺唱寂寞╮ 提交于 2020-01-23 23:00:19
老师的博客: http://www.cnblogs.com/liwenzhou/articles/8305104.html 以看老师的博客为主 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。 代码写在哪里也无所谓,只要它在你当前项目目录下面。 除此之外没有更多的要求了——可以说“没有什么神奇的地方”。 为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为 views.py 的文件中。 from django.shortcuts import render,HttpResponse,redirect def fun1(request): return HttpResponse("返回的是字符串") def fun2(request): # render返回的是个HTML文件,可以传参数 return render(request,"main.html") def fun3(request): # redirect返回的是个url地址 return redirect("http://www.baidu.com") FBV与CBV FBV是基于函数 #

python爬虫

北战南征 提交于 2020-01-17 01:31:56
在看这篇文章之前,需要大家掌握的知识技能: python基础 html基础 http状态码 让我们看看这篇文章中有哪些知识点: get方法 post方法 header参数,模拟用户 data参数,提交数据 proxies参数,使用代理 进阶学习 安装上requests库 pip install requests 先来看下帮助文档,看看requests的介绍,用python自带的help命令 import requests help(requests) output: Help on package requests: NAME requests DESCRIPTION Requests HTTP Library ~~~~~~~~~~~~~~~~~~~~~ Requests is an HTTP library, written in Python, for human beings. Basic GET usage: >>> import requests >>> r = requests.get(‘https://www.python.org’) >>> r.status_code 200 >>> ‘Python is a programming language’ in r.content True … or POST: >>> payload = dict(key1=