『壹』 php和http之間用的什麼協議
1 http是一種服務,一種協議,用來進行網頁瀏覽的。
2 linux是操作系統,和Windows相同,一種操作系統
3 php是一種編程語言,和C語言相同,一種編程語言
4 你可以這樣子簡單理解。
『貳』 PHP中如何發送HTTP請求
看起來你的代碼正確,不知道你有什麼問題。
這個方法不錯,但是最好用一個封裝好的類。
比如http_client之類的,網上這樣的類挺多了,你可以搜索一下。
當然直接用socket也可以。
『叄』 php怎麼響應客戶端發送http請求
獲取請求代碼如下:
#測試網址: http://localhost/blog/testurl.php?id=5
//獲取域名或主機地址
echo $_SERVER['HTTP_HOST']."
"; #localhost
//獲取網頁地址
echo $_SERVER['PHP_SELF']."
"; #/blog/testurl.php
//獲取網址參數
echo $_SERVER["QUERY_STRING"]."
"; #id=5
//獲取用戶代理
echo $_SERVER['HTTP_REFERER']."
";
//獲取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
#http://localhost/blog/testurl.php?id=5
//包含埠號的完整url
echo
http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
#http://localhost:80/blog/testurl.php?id=5
//只取路徑
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
echo dirname($url);
#http://localhost/blog
if (in_array("Mark", $people))
{
echo "匹配已找到";
}
else
{
echo "匹配未找到";
}
『肆』 php 如何獲取 客戶端http header
<?php
$dir=$HTTP_GET_VARS["dir"];//.......取得上個頁面傳遞來的路徑
$file=$HTTP_GET_VARS["file"];//.......取得傳遞來的文件名
$url=parse_url($HTTP_REFERER);/*......取得前一頁面的URL地址,並將其放入一個數組中*/
if($url[host]!=$HTTP_HOST){echo"要下載本軟體請到<ahref=http://www.df365.org>東方小屋</a>";exit;}/*檢查來源網站是不是自己的網站,如果不是,返回「要下載本……」*/
if(empty($dir))$dir="/";//......如果路徑名為空,則為指定根目錄
if(empty($file)){echo"未指定要下載的文件!";exit;}/*如果文件名為空,返回「未指定……」*/
$rootdir="文件存放的根目錄";//......你的下載路徑根目錄
$realurl=$rootdir.$dir;//.......取得你的下載目錄
chdir($realurl);//......將當前目錄轉到下載目錄中
if(!file_exists($file)){echo"對不起,此鏈接已經失效,請在下載頁面上向我們報告,謝謝!";exit;}//......測試文件是否存在
$filename=$file;
//發送文件頭信息
header("Cache-control:private");//fixforIE
header("Content-Type:application/octet-stream");
header("Content-Length:".filesize($filename));
header("Content-Disposition:attachment;filename=$filename");
$fp=fopen($filename,'r');//以讀取方式打開指定文件
fpassthru($fp);//**CORRECT**以二進制方式讀取文件
fclose($fp);//關閉文件
?>
『伍』 php網站http怎麼變成https
伺服器+域名+SSL數字證書=HTTPS
PHP網站升級HTTPS流程:
普通的HTTP網站搭建完畢,並且可以訪問。
確定升級HTTPS的域名。
Gworg申請後根據Gworg要求完成SSL證書認證。
大約15分鍾獲得SSL數字證書。
配置到虛擬主機或雲伺服器就可以實現HTTPS。
解決辦法:如果虛擬主機(空間)不支持,也可以讓Gworg提供接入,只需解析域名就可以。
『陸』 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 如何發送http請求!
第一種實現方式:實用socket編程,通常我們實用fsockopen這個函數來創建一個socket連接,用fputs來發送一個請求
第二種實現方式:實用php的curl擴展,我們使用curl_init()來初始化一個連接,然後設置一堆的curl_setopt()的東西來設置url,post的數據等等,最後我們使用curl_exec()來實現請求。
第三種方式就是: 實用file_get_contents函數,其實我們平時抓取一個網頁可能只實用它的第一個參數,其實它的第三個參數就有數據了
『捌』 判斷php是否有http
PHP文件得用專業的編輯器打開,比如DW、editplus等,想要修改裡面的代碼也是在編輯器裡面修改,除了打開文件需要的編輯器外,還需要在本地安裝wamp,要搭配環境才可以在本地測試PHP文件,否則無法打開及測試!
我建議樓主去找後盾人,他那裡有專家教學 而且還有解釋得非常詳細的視頻,我在他那就學到了很多東西
『玖』 php怎麼去掉地址頭的 http:://
$str='http://www.example.com';//要去除http://的地址
$result=str_replace('http://','',$str);
var_mp($result);//結果www.example.com
『拾』 php如何獲得http post的數據
在PHP段直接用$_POST這個全局數組來獲取,也可以通過$_REQUEST來獲取值