日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

php開發(fā)中,使用http請(qǐng)求再所難免。

前端有很多請(qǐng)求方法,比如異步的ajax,包括框架也有封裝的庫等等。

后端PHP這個(gè)語言也有http請(qǐng)求,不單單是前端來請(qǐng)求它。

那么php中常用的是curl這個(gè)庫,來實(shí)現(xiàn)請(qǐng)求的。

我把我封裝的思路說一下吧。

首先傳入的參數(shù),我定的是請(qǐng)求地址,請(qǐng)求方法,是否是https

 function curls($url, $post, $https=0){}

調(diào)用的時(shí)候只需要傳上面三個(gè)對(duì)應(yīng)的參數(shù)就行了,甚至第三個(gè)都不用傳

第二個(gè)參數(shù)是數(shù)組,也可以用來表示post/get請(qǐng)求,主要是用來傳參數(shù)的

$curl = curl_init();
curls($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curls($curl, CURLOPT_URL, $url);
curls($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; 
curls($curl, CURLOPT_FOLLOWLOCATION, 1);
curls($curl, CURLOPT_AUTOREFERER, 1);
curls($curl, CURLOPT_REFERER, "http://XXX");
curls($curl, CURLOPT_ENCODING,'gzip,deflate');
if ($post) {
 curls($curl, CURLOPT_POST, 1);
 curls($curl, CURLOPT_POSTFIELDS, http_build_query($post));
}

大至的就是上面的代碼了,但是在這里還是分享一下關(guān)于https請(qǐng)求的處理方法

一共分兩種 首先第一種是直接繞過ssl,將以下兩個(gè)參數(shù)設(shè)置為0或者false

curls($curl, CURLOPT_SSL_VERIFYPEER, false);
curls($curl, CURLOPT_SSL_VERIFYHOST, false);

這個(gè)意思就是不進(jìn)行驗(yàn)證對(duì)比。

反之,就是要進(jìn)行ssl驗(yàn)證,代碼如下

curls($curl, CURLOPT_SSL_VERIFYPEER, true);
curls($curl, CURLOPT_CAINFO, 'SSL的公鑰地址');
curls($curl, CURLOPT_SSL_VERIFYHOST, true);

上面第二行代碼需要填寫.pem文件,生成的公鑰文件地址,用來與https服務(wù)器上的文件對(duì)比。

 

除了curl,還有一種PHP內(nèi)置的stream_context_create

stream_context_create,用的人比較少,一般造輪子的人會(huì)使用這種寫法。

但是這只是一部分,它需要與file_get_content方法配置一起完成http請(qǐng)求。

$options = array(
	'http' => array(
		'method' => 'POST',
		'header' => 'Content-type:Application/x-www-form-urlencoded',
		'content' => $data
		//'timeout' => 60 * 60 // 超時(shí)時(shí)間(單位:s)
	)
);

比如現(xiàn)在有上面這個(gè)數(shù)組,是一組http請(qǐng)求的參數(shù),這時(shí)候怎么模擬?

$url = "http://localhost/test.php"; //請(qǐng)求地址

實(shí)現(xiàn)

$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

成功!

小提一“法”

http_build_query

想必用得少吧,除了寫原生PHP代碼與JAVA對(duì)接多的時(shí)候會(huì)用,一般情況下不會(huì)。

它的作用:將請(qǐng)求參數(shù)數(shù)組轉(zhuǎn)化為url-encode編碼字符串

就這么簡單,看個(gè)例子

$ars = array ( 
 'name' => 'name', 
 'age' => 23//可以有很多元素
) ;
$res = http_build_query($ars);
//輸出:name=name&age=23

over!

分享到:
標(biāo)簽:PHP POST
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評(píng)定2018-06-03

通用課目體育訓(xùn)練成績評(píng)定