當前位置:首頁 » 編程語言 » 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接受傳值。

熱點內容
六年級簡便演算法題 發布:2025-02-14 05:53:02 瀏覽:8
腳本精靈要root嗎 發布:2025-02-14 05:51:30 瀏覽:212
安卓手機如何錄屏怎麼去掉觸摸顯示 發布:2025-02-14 05:36:23 瀏覽:995
安卓系統新品推薦怎麼關 發布:2025-02-14 05:35:44 瀏覽:887
虛擬存儲器的基礎是 發布:2025-02-14 05:32:24 瀏覽:516
androidstudio出錯 發布:2025-02-14 05:32:14 瀏覽:304
面容id存儲多張臉 發布:2025-02-14 05:31:30 瀏覽:655
網站源碼百度雲 發布:2025-02-14 05:30:53 瀏覽:213
我得世界星際方塊伺服器ip 發布:2025-02-14 05:23:03 瀏覽:940
動態庫什麼時候不需要重新編譯 發布:2025-02-14 05:18:56 瀏覽:14