久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

淺談PHP發送HTTP請求的幾種方式

這篇文章主要介紹了淺談PHP發送HTTP請求的幾種方式,整理一下除了使用 cURL 外 PHP 發送 HTTP 請求的方式,有興趣的可以了解一下。

PHP 開發中我們常用 cURL 方式封裝 HTTP 請求,什么是 cURL?

cURL 是一個用來傳輸數據的工具,支持多種協議,如在 Linux 下用 curl 命令行可以發送各種 HTTP 請求。PHP 的 cURL 是一個底層的庫,它能根據不同協議跟各種服務器通訊,HTTP 協議是其中一種。

現代化的 PHP 開發框架中經常會用到一個包,叫做 GuzzleHttp,它是一個 HTTP 客戶端,也可以用來發送各種 HTTP 請求,那么它的實現原理是什么,與 cURL 有何不同呢?

Does Guzzle require cURL?

No. Guzzle can use any HTTP handler to send requests. This means that Guzzle can be used with cURL, PHP's stream wrapper, sockets, and non-blocking libraries like React. You just need to configure an HTTP handler to use a different method of sending requests.

這是 GuzzleHttp 文檔 FAQ 中的一個 Question,可見 GuzzleHttp 并不依賴 cURL 庫,而支持多種發送 HTTP 請求的方式。

PHP 發送 HTTP 請求的方式

那么這里整理一下除了使用 cURL 外 PHP 發送 HTTP 請求的方式。

1.cURL

詳細方法:http://www.jb51.net/article/56492.htm

2.stream流的方式

stream_context_create 作用:創建并返回一個文本數據流并應用各種選項,可用于 fopen(), file_get_contents() 等過程的超時設置、代理服務器、請求方式、頭信息設置的特殊過程。

以一個 POST 請求為例:

PHP

<?php
/**
 * Created by PhpStorm.
 * User: tanteng
 * Date: 2017/7/22
 * Time: 13:48
 */
function post($url, $data)
{
  $postdata = http_build_query(
    $data
  );

  $opts = array('http' =>
           array(
             'method' => 'POST',
             'header' => 'Content-type: application/x-www-form-urlencoded',
             'content' => $postdata
           )
  );
  $context = stream_context_create($opts);
  $result = file_get_contents($url, false, $context);
  return $result;
}

關于 PHP stream 的介紹文章:http://www.jb51.net/article/68891.htm

3.socket方式

使用套接字建立連接,拼接 HTTP 報文發送數據進行 HTTP 請求。

一個 GET 方式的例子:

PHP

<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
  echo "$errstr ($errno)<br />\n";
} else {
  $out = "GET / HTTP/1.1\r\n";
  $out .= "Host: www.example.com\r\n";
  $out .= "Connection: Close\r\n\r\n";
  fwrite($fp, $out);
  while (!feof($fp)) {
    echo fgets($fp, 128);
  }
  fclose($fp);
}
?>

本文介紹了發送 HTTP 請求的幾種不同的方式。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

主站蜘蛛池模板: 欧美视频1区| 国产女人与拘做受免费视频 | av手机在线 | 超碰成人免费 | 久久久久久久久久久久久久久久久久久久 | 神马久久春色视频 | 久久精品 | 视频精品一区二区三区 | 日本在线免费观看 | 亚洲一区中文字幕 | 国产日韩亚洲欧美 | 91久久久久久久久久久久久 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 日韩视频免费在线 | 久久免费精品 | 亚洲午夜在线 | 天天操夜夜操 | 婷婷精品| 少妇精品久久久久久久久久 | 中文字幕亚洲一区 | 久久久久亚洲国产| av在线免费看网址 | 成人精品 | 久久精品视频免费看 | 天堂久久久久久久 | 久久久久久久久久一区 | 黄色一级大片在线观看 | 欧美电影免费观看高清 | 日本久久综合网 | 99久久精品国产一区二区三区 | 91精品国产综合久久小仙女图片 | 天堂男人av| 天堂一区二区三区四区 | 久久久999国产精品 中文字幕在线精品 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 免费在线观看一区二区 | www.日本在线观看 | 中文字幕二区 | 久久久久国产精品一区三寸 | 亚洲小视频在线播放 | 久久久久久女 |