(初探PHP)三:php中的请求方式GET,POST...

php发送get、post请求的6种方法简明总结? 这篇文章主要介绍php发送get、post请求的6种方法简明总结,分别为使用file_get_contents 、fopen、fsockopen、curl来发送GET和POST请求,需要的朋友可以参考下。 阅读详情

请求在网站的访问过程中很常见,并且请求分为多种方式:GET、POST、PUT、DELETE、OPTIONS等。其中GET和POST最常用。

什么是GET请求?

    GET从字面上理解为'获取',通常用于获取服务端的数据。

常见发起GET请求的方式:

     地址栏访问

      src/href

       表单   

网页中有很多效果都是GET请求: 各种搜索框,各种详情页面,大部分超链接

GET方式提交数据的格式

    1. 格式:index.phpuserName=jack&password=123
    2. 参数名与参数值之间没有空格

    3. 参数值不需要使用单双引号包括

GET方式提交数据的特点

    1. get方式在url后面拼接参数,只能以文本的形式传递数据
    2. 传递的数据量小,4KB左右(不同浏览器会有差异)
    3. 安全性低,会将数据显示在地址栏

    4. 速度快,通常用于对安全性要求不高的请求

什么是POST请求?

面上理解,post就是指发送,提交,它可以向指定的资源提交要被处理的数据

为什么需要POST请求?

    GET方式提交数据通过URL传递到请求的页面,提交的数据量一般较小,用于请求页面数据。此外,GET方式传递的数据安全性低, 对于密码等隐私信息、文件上传必须使用POST方式提交。

    如果使用表单方式进行提交,表单的method必须设置为POST。

POST提交方式的特点:

    1-post 方式 安全性比较高

    2-传递数据量大,请求对数据长度没有要求

    3-请求不会被缓存,也不会保留在浏览器历史记录中

       用于:密码等安全性要求比较高的场合,提交的数据量比较大:发布文章,上传文件。

       POST方式提交数据上限默认为8M(可以在PHP的配置文件post_max_size选项中修改)

表单的基本使用

    form 标签有两个必要属性:

 

    action:表单提交地址(填完了,交给谁)

    method:表单以什么方式提交

例如:我们需要在登录页面收集用户输入的账号密码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>登录</title>
</head>
<body>
  <form action="login.php" method="post">
    <div>
      <label for="username">用户名</label>
      <input type="text" id="username" name="username">
    </div>
    <div>
      <label for="password">密码</label>
      <input type="password" id="password" name="password">
    </div>
    <button type="submit">登录</button>
  </form>
</body>
</html>

按照目前的情况,用户第一次请求得到这个表单页面,填写完表单内容,点击登录,表单会自动发送到 login.php,剩下的问题就是要考虑如何在 login.php 中获取到用户提交过来的内容。

PHP 中有三个超全局变量专门用来获取表单提交内容:
    $_GET:用于获取以 GET 方式提交的内容,更标准的说法:接收 URL 地址问号参数中的数据
    $_POST:用于获取以 POST 方式提交的内容,更标准的说法:接收 请求体 中的数据
    $_REQUEST:用于获取 GET 或 POST 方式提交的内容

 

    借助 $_POST 或者 $_REQUEST 就可以获取到表单提交的内容:

 

提交地址

<!-- 这样写死 action 地址,当文件重命名就需要修改代码 -->
<form action="/foo/login.php">
  <!-- ... -->
</form>
<!-- 通过 `$_SERVER['PHP_SELF']` 获取路径,可以轻松避免这个问题 -->
<form action="<?php echo $_SERVER['PHP_SELF']; ?>">
  <!-- ... -->
</form>

常见表单元素处理

<!-- 1.单选按钮 -->
<!-- 最终只会提交选中的那一项的 value -->
<input type="radio" name="gender" value="male">
<input type="radio" name="gender" value="female">

<!-- 2.复选按钮 -->
<!-- 没有设置 value 的 checkbox 选中提交的 value 是 on -->
<input type="checkbox" name="agree">
<!-- 设置了 value 的 checkbox 选中提交的是 value 值 -->
<input type="checkbox" name="agree" value="true">

<!-- 如果需要同时提交多个选中项,可以在 name 属性后面 跟上 []: -->
<input type="checkbox" name="funs[]" value="football">
<input type="checkbox" name="funs[]" value="basketball">
<input type="checkbox" name="funs[]" value="world peace">

<!-- 3.下拉列表 -->
<select name="subject">
  <!-- 设置 value 提交 value -->
  <option value="1">语文</option>
  <!-- 没有设置 value 提交 innerText -->
  <option>数学</option>
</select>

$_FILES数组详解

$_FILES也是一个关联数组,键为表单的 name

<?php
array(1) {
  ["avatar"]=>
  array(5) {
    ["name"]=>
    string(17) "demo.jpg"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(27) "C:\Windows\Temp\php786C.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(29501)
  }
}
?>

文件上传后,文件信息自动保存在预定义变量$_FILES数组中。假设myFile为文件域的name属性值。

1)  $_FILES[‘myFile’][‘name’] 文件的原始名称。
2)   $_FILES[‘myFile’][‘tmp_name’] 文件的临时路径,默认为c:/windows/temp(运行窗口—>temp)。没有直接将文件上传至Apache服务器的根目录
3)   $_FILES[‘myFile’][‘type’] 文件的内容类型。
常见的文件类型: image/jpeg,image/png,image/gif,text/html,text/javascript
4)  $_FILES[‘myFile’]’‘error’] 文件上传的错误代号。0代表没有发生错误。

5)   $_FILES[‘myFile’]‘size’] 文件大小(单位为byte,字节)

 

文件上传的完整步骤

    1. 设计表单
    2. 接收数据:判断$_FILES是否为空
    3. 判断错误:$_FILES‘myFile’.出错提示错误信息

 

    4. 此时文件在临时路径,如果需要将上传后的文件移动到某个指定位置,需要使用move_uploaded_file()函数移动到网站永久 路径:move_upload_file(临时路径$_FILES‘myFile’,永久路径);   

<?php
// 如果选择了文件 $_FILES['file']['error'] => 0
// 详细的错误码说明:http://php.net/manual/zh/features.file-upload.errors.php
if ($_FILES['file']['error'] === 0) {
  // PHP 在会自动接收客户端上传的文件到一个临时的目录
  $temp_file = $_FILES['file']['tmp_name'];
  // 我们只需要把文件保存到我们指定上传目录
  $target_file = '../static/uploads/' . $_FILES['file']['name'];
  if (move_uploaded_file($temp_file, $target_file)) {
    $image_file = '/static/uploads/' . $_FILES['file']['name'];
  }
}
  •  
Python向PHP发起GET与POST请求 Python与PHP之间通过HTTP请求的方式实现互联互通,在很多场合上可以不让Python编写的后台去连接数据库(如Python数据库连接包安装麻烦),这种情况下可以利用Python连接PHP,由PHP代其完成连接与读写数据库。 阅读详情

相关推荐

PHP用curl发起POST和GET的请求

PHP快速入门与实战在Web开发中,经常需要与其他服务器进行数据交互。而现在,绝大多数的接口都是基于HTTP协议的,因此我们需要学会如何用PHP来发起POST和GET请求。curl是一个很常见的用来发送HTTP请求的工具,同时也是一个很好用的PHP扩展库。它不仅可以发送GET和POST请求,还可以发送各种其他类型的请求,并支持文件上传、cookie管理等功能。curl是一个非常强大的HTTP请求工具,能够帮助我们方便地与其他服务器进行数据交互。

黑夜开发者的博客 2601

php发送get、post请求的6种方法简明总结

这篇文章主要介绍php发送get、post请求的6种方法简明总结,分别为使用file_get_contents 、fopen、fsockopen、curl来发送GET和POST请求,需要的朋友可以参考下 方法1: 用file_get_contents 以get方式获取内容:

记录编程生活 7万+

别再手动上传了!用宝塔面板的‘Let‘s Encrypt’免费SSL证书,3分钟自动续期

本文详细介绍了如何利用宝塔面板的‘Let‘s Encrypt’功能实现SSL证书的自动申请和续期,3分钟完成配置即可永久免费使用。通过对比不同SSL证书方案,突出Let's Encrypt的免费、自动续期和高安全性优势,特别适合个人博客和中小企业官网。

weixin_30415113的博客 150

php get请求

function http_get($url, $header = [], $proxy = []) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,.

阿拉斯加头头的博客 4314

【关于四足机器人那些事】足端轨迹规划-八次多项式轨迹

系列文章目录 文章目录系列文章目录前言一、多项式曲线二、八次多项式曲线总结 前言 在四足机器人的研究中,有一个很关键的问题,就是如何减少足端在触地瞬间的冲击,避免把机器人把自己给蹬倒了?这时候就需要一个合理的足端轨迹规划。本篇将会介绍几种足端轨迹。 本文将对四足机器人的足端轨迹进行规划。将数学中的复合摆线和多项式曲线引入到足端轨迹的规划中,根据零冲击原则[2],规划出 3 条满足要求的足端轨迹,包括: 复合摆线轨迹 八次多项式轨迹 分段五次多项式轨迹 本篇先介绍 - 八次多项式轨迹 一、多项式曲

LiuZ的博客 2955

最佳解决Maven同一依赖多版本共存问题,重复依赖(同一个jar包,多个版本)-maven-shade-plugin

公司的历史项目在导出功能上引用的是poi-3.12版本,后续再做word模板导出功能时用到了poi-3.15版本,升级完后发现项目的很多导出功能都瘫痪了。用旧版本,新功能无法使用;用新版本,旧功能瘫痪,且整改的工作量比较大。使用maven-shade-plugin,将某个版本的依赖名称进行修改,重新引入即可。

S_White_Island的博客 1万+

PHP curlPost

protected function curlPost($url, $data) { $ch = curl_init (); $header = array("Accept-Charset: utf-8"); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURL...

u012925792的博客 466

ITK-snap进行分割区域标注、三维显示及改变显示颜色

在进行医学图像器官分割时,无论我们是用传统方法还是深度学习,最后肯定要用到手动分割的区域作为金标准来验证我们方法的精度。但是手动标注器官的轮廓是十分耗时的,这里我介绍一个比较简单的标注方法,以肺分割作为例子。 我们使用ITK-snap作为分割标注工具。 当切片间距离比较小时,比如1mm,一个患者的完整HRCT序列通常在200张以上,如果让医生一一进行分割区域标注是非常耗时乏味的。因此,我们可以使用最简单的阈值法比如OSTU,加上基本的形态学操作对肺进行粗分割得到粗略的分割掩码,在此基础上再手动的对分割结果进

u010409517的博客 2万+

PHP模拟GET,POST请求

一、GET请求 /** *模拟GET请求 **/ function curlGet($url){ $headerArray =array("Content-type:application/json;","Accept:application/json"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

lh25946的博客 384

2D激光slam数据集的下载与测试

参考博客: https://blog.csdn.net/qq_24894159/article/details/81265991 https://blog.csdn.net/fk1174/article/details/52673413#commentBox 数据集下载与生成 下载数据集 下载网址: http://ais.informatik.uni-freiburg.de/slamevaluation/datasets.php 进去网站后点你想下载的对应的"download log file" 然后你

老李的博客 4025

lgv20刷twrp_LG港版v20 root

这是LG港版v20 root,整理了一下有关LG港版v20的官方固件包了,有没有需要的呢,这里把固件包整理一下也是方便大家以后好下载了,因此有一些机友还是不知道在哪里下载官方的rom包,在这里说的固件rom包也就是原版的系统包了,大家可以放心的使用,这些系统包也都是支持线刷的,大家下载下来解压出来根据里面的相关教程来操作就可以了,很简单的,如果你也需要的话就一起来看看吧。软件提示注意!! 此过程会...

weixin_33212263的博客 5387

PHP 中GET、POST、REQUEST用法

PHP 中GET、POST、REQUEST用法 一、$_GET数组 GET是HTTP中最原始的请求方式,在网页中点击一个超级链接或在地址栏输入一个URL都会发送一个GET请求。在GET请求中,数据是后缀在URL后面来发送的,就好像这样: http://www.phpboke.com/request.php?id=root&password=asdfl。PHP将GET请求封装在了GET数组中,请求的变量名是数组的下标,要接收上面那个请求传递的两个变量id和password,使用_GET数组中,请求的变

apple_54886810的博客 5167

突破Cloudflare 5秒盾:TLS指纹伪装+Playwright行为模拟,爬虫存活率从35%提至78%

TLS指纹精准识别:Cloudflare会解析客户端的TLS Client Hello包(如SSL版本、密码套件、扩展字段),Python的requests/urllib库的TLS指纹是“黑名单级”,请求一出即被拦截;行为特征检测:静态的浏览器伪装(如User-Agent)已失效,Cloudflare会监控页面加载后的行为(是否有鼠标移动、滚动、点击,行为是否机械);JS环境深度验证:通过WebGL、Canvas、字体渲染、Navigator属性生成浏览器指纹,无头浏览器的默认配置会被瞬间识别;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2360

HTTP的两种常用请求方式GET和POST

HTTP的两种常用请求方式GET和POST HTTP:HTTP协议(HyperText Transfer),用于从万维网(WWWW:World Wide Web)服务器传输超文本到本地浏览器的传输协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。 一、GET方法 使用GET方法时,查询字符串(名称或键值对)是在GET请求的URL中发送的: /test/demo_form.php?name1=value1&name2=value2 说明: GET

软件二班傅同学的博客 4507

【功能安全】软件安全架构

目录01 软件安全架构介绍02 软件架构设计模板03 软件架构设计示例 软件架构设计的目的 软件架构设计的原则 软件架构设计输入与输出 软件架构设计的要求 注:软件架构设计和软件安全要求之间的双向可追溯性。软件架构设计原则: 软件架构静态/动态设计(参考秒尼科技术) 软件架构静态设计 软件架构动态设计 软件分层架构设计 软件架构设计安全机制错误探测的安全机制 其中:数据的范围检查指输入输出数据的范围进行检查,例如:在程序中我们可以通过数据范围来排除数据的正确性;合理性检查 例如:使用参

weixin_36460584的博客 511

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

攻防世界06-get_post

get和post的区别,如何做题?

weixin_49765221的博客 1961

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

php中简单的get与post请求处理

首先打开xampp里的阿帕奇和MySQL。 新建get的HTML页面 代码如下:用get来获取form的信息 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <!-- 1、可以通过form标签的method属性指定发送请求的类型 2、如果是get请求会将提交的数据拼接

qq_42459832的博客 966

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

PHP中如何处理GET和POST请求?

在PHP中处理GET和POST请求主要依赖于超全局变量$_GET和$_POST。

破损的天堂鸟博客 666

HTTP 的GET请求和POST请求

一、HTTP的请求        HTTP协议的报文都是ASCLL码,建立在TCP传输协议之上。HTTP的请求主要有三个部分:请求行、请求头和请求体。 1、请求行        即求情的数据格式中的第一行,由三个内容组成:请求方式、URL、HTTP协议的版本。        说明:  &nb

qq1140920745的博客 4089

php获取get/post请求的数据

发送请求: 这里使用的事java发送的请求,发送

月清空的博客 3万+

php同时接受get post,PHP中get与post的提交方式以及接收方式的区别

PHP中给予了我们二种数据提交的方式,一种是以GET形式提交的,一种是以POST形式提交的。那么今天记录一下,这两种提交方式的区别以及对于这两种提交方式的信息的接受处理方式get提交方式get提交方式属于显式提交,也就是我们提交信息时,所提交的数据会显示在url中,那么我们提交的数据是可以被用户查看到的,当然这些信息都是一些不重要的东西。例1例2:A链接的形式:这是个链接php接受信息:$get...

weixin_39572168的博客 1448

php 一些运用 GET,POST请求session cookie

php是超级文本预处理语言注意:在运行php的软件需要注意保存文件,整个路径不能含有中文,运行环境需要改变,如果不改变,就是不能直接在浏览器打开,就要拿到服务器下打开php——– php可以画图像——要找怎么画图形,去到php的文档查看GD,里面有很多方法,我就举几个简单例子 //知道内容样式 header(‘Content-type:image/png’);//创建一个空白区域 传宽高 相当于

flting1017的博客 1920

PHP中Get()和Post()用法详解

作为一个计算机系统,输入输出设备作为非核心设备却是不可或缺的,硬件如此,软件亦是如此。试想一台功能强劲的计算机,如果没有输入输出设备,它与一块只能耗电并且发出嗡嗡噪音的废铁有何不同。应用程序的道理也是一样。在PHP开发的WEB应用程序中,所有非PHP代码以及输出语句中的内容都会被输出,那么程序又是如何接收输入内容的呢?相信不少人一定想到了WEB表单!在HTTP协议下,输入输出的原型其实是HTTP...

weixin_34174422的博客 1484

php中的post与get,php中post和get的区别是什么

php中post和get的区别在这里为大家整理了两种get和post的区别。第一种:GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark(标记),而POST不可以。GET请求会被浏览器主动cache(存储),而POST不会,除非手动设置。GET请求只能进行url编码,而POST支持多种编码方式。GET请求参数会被完整保留在浏览器历史记录里,而POST...

weixin_30336701的博客 442

PHP中GET和POST的区别

GET是HTTP中最原始的请求方式,在网页中点击一个超级链接或在地址栏输入一个URL都会发送一个GET请求。在GET请求中,数据是后缀在URL后面来发送的。 GET方法的本意就是下载(与其对应的是上传方法PUT),因此并不是专门用于传递数据的,它将请求数据全部经过URL编码后缀

5030

php post get,php发送get、post请求的几种方法

方法1: 用file_get_contents 以get方式获取内容$url=’http://www.domain.com/’;$html = file_get_contents($url);echo $html;?>方法2: 用fopen打开url, 以get方式获取内容$fp = fopen($url, ‘r’);stream_get_meta_data($fp);while(!feof...

weixin_29443363的博客 357
上一篇: (初探PHP)二: php的基础知识总结(2)
下一篇: (初探PHP)四:php中的Cookie,Session
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值