当前位置:首页 » 编程语言 » php获取request

php获取request

发布时间: 2022-05-20 18:35:18

‘壹’ php CI 怎么获取 request payload 的值

php 怎么获取像这样的内容啊 用输入流的获取方式获取不到 如file_get_contents("php://input")

‘贰’ php提交表单除get和post之外,有没有request方法

$_REQUEST包括了psot、get。cookie等方法
他自己没有独立的方法
或者说,$_REQUEST本身就是post、 get等方法的“父亲”
这么说能理解吧?
但通常下,考虑程序的安全和优化,不建议用$_REQUEST来获取数据
一般都是使用相应针对的方法去做!
原因是:
1、优化方面,如果使用$_REQUEST,那他会把post、get、cookie等方法检测个遍,而你提交的只是一种方法,这想的同样的效果,php多干了事
2、安全方面,不管是post还是get还是cookie,在提供程序开发接受数据提供功能方便的同时,他也是一道进入你“家”的门,你自己明明只需要一道门,而你大开这么多门,是不是也给黑客提供了进你“家”的阳光大道呢???

程序在开发过程中,不能图一时快活而求图程序开发的简便,应该多为程序的以后的运行多多考虑!
如只是图开发的时候省心,而运行过程中出现的诸多问题,恐怕不但不省心,还更费心。。。。

‘叁’ php实现httpRequest的方法

这篇文章主要介绍了php实现httpRequest的方法,涉及php操作http的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了php实现httpRequest的方法。分享给大家供大家参考。具体如下:
想从学校图书馆的网站上抓取数据处理之后在返回给浏览器,试了不少方法。首先试了http_request(),但是这个学院pecl_http支持,后来又试了网上流传甚广的class
HttpRequest,可能是我不会使用,也失败了。后来看到了函数httpRequest($url,
$post='',
$method='GET',
$limit=0,
$returnHeader=FALSE,
$cookie='',
$bysocket=FALSE,
$ip='',
$timeout=15,
$block=TRUE),用它成功了,因此贴出来分享一下。函数代码如下:
代码如下:
<?php
/**
*
Respose
A
Http
Request
*
*
@param
string
$url
*
@param
array
$post
*
@param
string
$method
*
@param
bool
$returnHeader
*
@param
string
$cookie
*
@param
bool
$bysocket
*
@param
string
$ip
*
@param
integer
$timeout
*
@param
bool
$block
*
@return
string
Response
*/
function
httpRequest($url,$post='',$method='GET',$limit=0,$returnHeader=FALSE,$cookie='',$bysocket=FALSE,$ip='',$timeout=15,$block=TRUE)
{
$return
=
'';
$matches
=
parse_url($url);
!isset($matches['host'])
&&
$matches['host']
=
'';
!isset($matches['path'])
&&
$matches['path']
=
'';
!isset($matches['query'])
&&
$matches['query']
=
'';
!isset($matches['port'])
&&
$matches['port']
=
'';
$host
=
$matches['host'];
$path
=
$matches['path']
?
$matches['path'].($matches['query']
?
'?'.$matches['query']
:
'')
:
'/';
$port
=
!empty($matches['port'])
?
$matches['port']
:
80;
if(strtolower($method)
==
'post')
{
$post
=
(is_array($post)
and
!empty($post))
?
http_build_query($post)
:
$post;
$out
=
"POST
$path
HTTP/1.0rn";
$out
.=
"Accept:
*/*rn";
//$out
.=
"Referer:
$boarrlrn";
$out
.=
"Accept-Language:
zh-cnrn";
$out
.=
"Content-Type:
application/x-www-form-urlencodedrn";
$out
.=
"User-Agent:
$_SERVER[HTTP_USER_AGENT]rn";
$out
.=
"Host:
$hostrn";
$out
.=
'Content-Length:
'.strlen($post)."rn";
$out
.=
"Connection:
Closern";
$out
.=
"Cache-Control:
no-cachern";
$out
.=
"Cookie:
$cookiernrn";
$out
.=
$post;
}
else
{
$out
=
"GET
$path
HTTP/1.0rn";
$out
.=
"Accept:
*/*rn";
//$out
.=
"Referer:
$boarrlrn";
$out
.=
"Accept-Language:
zh-cnrn";
$out
.=
"User-Agent:
$_SERVER[HTTP_USER_AGENT]rn";
$out
.=
"Host:
$hostrn";
$out
.=
"Connection:
Closern";
$out
.=
"Cookie:
$cookiernrn";
}
$fp
=
fsockopen(($ip
?
$ip
:
$host),
$port,
$errno,
$errstr,
$timeout);
if(!$fp)
return
'';
else
{
$header
=
$content
=
'';
stream_set_blocking($fp,
$block);
stream_set_timeout($fp,
$timeout);
fwrite($fp,
$out);
$status
=
stream_get_meta_data($fp);
if(!$status['timed_out'])
{//未超时
while
(!feof($fp))
{
$header
.=
$h
=
fgets($fp);
if($h
&&
($h
==
"rn"
||
$h
==
"n"))
break;
}
$stop
=
false;
while(!feof($fp)
&&
!$stop)
{
$data
=
fread($fp,
($limit
==
0
||
$limit
>
8192
?
8192
:
$limit));
$content
.=
$data;
if($limit)
{
$limit
-=
strlen($data);
$stop
=
$limit
<=
0;
}
}
}
fclose($fp);
return
$returnHeader
?
array($header,$content)
:
$content;
}
}
?>

调用也很简单的。简单的例子:
代码如下:
echo
httpRequest('http://www..com');

希望本文所述对大家的php程序设计有所帮助。

‘肆’ php中get和request的区别

PHP中有$_REQUEST与$_POST、$_GET用于接受表单数据。
一、$_REQUEST与$_POST、$_GET的区别和特点
$_REQUEST[]具用$_POST[] $_GET[]的功能,但是$_REQUEST[]比较慢。通过POST和GET方法提交的所有数据都可以通过$_REQUEST数组获得。
二、$_POST、$_GET的区别和特点
1. GET是从服务器上获取数据,POST是向服务器传送数据。
2. GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。POST是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于GET方式提交表单数据,服务器端用$_GET[‘name’]获取变量的值,对于POST方式提交表单数据,服务器端用$_POST[‘name’]获取提交的数据,当然,两者都可以通过$_REQUEST[‘name’]获得表单数据。对于REQUEST方式提交表单数据,服务器端用$_REQUEST[‘name’]获取变量的值,但这种方式很少用。
4. GET传送的数据量较小,不能大于2KB。POST传送的数据量较大,一般被默认为不受限制。但理论上,一般认为不能超过100KB。
5. GET安全性非常低,POST安全性较高。
6. GET表单值可以通过_GET获取;但通过action的url设置的参数总是获取不到的,<form method="get" action="a.asp?b=b">跟<form method="get"action="a.asp">是一样的,也就是说,在这种情况下,GET方式会忽略action页面后边带的参数列表。POST表单值可以通过_POST获取;但通过action的url参数设置的参数则可以不能通过_POST获取到。action=test.php?id=1这种就是GET方式传值,可以用$_REQUEST和$_GET接受传值,但不能用POST方式获取到值,即使表单是POST方式提交。所在,在提交表单时,如果action中同时有参数,最好只能通过POST表单方式,对于表单内数据,直接通过POST获取,对于action中参数,童工GET获取。
在做数据查询时,建议用GET方式,而在做数据添加、修改或删除时,建议用POST方式。
request是先读取 get再读post 的, 同时存在, 即覆盖掉前面的变量。
经典实例:
<?php
echo "get\n";
print_r($_GET);
echo "post\n";
print_r($_POST);
echo "request\n";
print_r($_REQUEST);
?>
<form method=post action='?a=1&b=2'>
<input type=text name=a value='a'>
<input type=text name=b value='b'>
<input type=submit value=test>
</form>

输出结果:
get:
Array
(
[a] => 1
[b] => 2
)
post:
Array
(
[a] => a
[b] => b
)
request:
Array
(
[a] => a
[b] => b
)

其实,在php配置文件php.ini中有一个设置项:variables_order = "GPCS" ,GPCS分别是GET,POST,Cookie,Server的首字母缩写,variables_order = "GPCS"含义是php文件中变量的解析顺序是GET,POST,Cookie和Server。

‘伍’ 难,求高手,php怎么获取httprequest和httpresponse信息

HttpResponse输出文件:
Response.Clear();
Response.ContentType = "application/octet-stream";
//通知浏览器下载文件而不是打开
Response.AddHeader("Content-Disposition", "attachment; filename=aaa.csv");
var sw = new StreamWriter(response.OutputStream);
//cc.Write<CustomerData>(list, sw, csvFileDesc);
sw.Flush();
sw.Close();

HttpRequest获取文件:

var sr = new StreamReader(request.InputStream);

‘陆’ php中的request数据接收

PHP中运算符的变量名写错了。不执行却是下载的原因是:需要将文件存储到服务器指定的路径中才能执行,如APACHE服务器的htdocs文件夹

‘柒’ PHP 中TP5 Request 请求对象的实例详解

PHP中有$_REQUEST与$_POST、$_GET用于接受表单数据。
一、$_REQUEST与$_POST、$_GET的区别和特点
$_REQUEST[]具用$_POST[] $_GET[]的功能,但是$_REQUEST[]比较慢。通过POST和GET方法提交的所有数据都可以通过$_REQUEST数
二、$_POST、$_GET的区别和特点
1. GET是从服务器上获取数据,POST是向服务器传送数据。
如果还有什么疑问的话,可以经常去后盾人学习下教学视频,非常有帮助的。

‘捌’ PHP的Request

aspx
中的
request
是获取post

get参数的方法
在php中
使用
$_REQUEST[]
超全局变量来获取。。

‘玖’ php中的$_REQUEST()函数怎么用

php中有$_request与$_post、$_get用于接受表单数据,当时他们有何种区别,什么时候用那种最好。

一、$_request与$_post、$_get的区别和特点

$_REQUEST[]具用$_POST[] $_GET[]的功能,但是$_REQUEST[]比较慢。通过post和get方法提交的所有数据都可以通过$_REQUEST数组获得

二、$_post、$_get的区别和特点

1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。

举例:mypage?id=1这种就是GET方式传值,可以用$_request和$_get接受传值。

热点内容
QRM算法 发布:2025-02-14 02:45:19 浏览:265
c语言打印结构体 发布:2025-02-14 02:42:28 浏览:140
编译技术实验一 发布:2025-02-14 02:28:24 浏览:647
编程手机入门 发布:2025-02-14 02:27:40 浏览:733
局域网视频android 发布:2025-02-14 02:23:56 浏览:423
麒麟系统如何安装安卓程序 发布:2025-02-14 02:07:21 浏览:399
ipad访问电脑硬盘吗 发布:2025-02-14 02:02:53 浏览:901
苹果笔记本电脑不能连接服务器 发布:2025-02-14 01:43:02 浏览:394
查看linux的shell 发布:2025-02-14 01:38:42 浏览:989
用于打开ftp连接的应用程序 发布:2025-02-14 01:23:39 浏览:707