最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP使用socket發(fā)送HTTP請求的方法

 更新時間:2016年02月14日 08:55:51   作者:思齊_  
這篇文章主要介紹了PHP使用socket發(fā)送HTTP請求的方法,結(jié)合實(shí)例形式分析了PHP使用socket發(fā)送http請求的常用技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP使用socket發(fā)送HTTP請求的方法。分享給大家供大家參考,具體如下:

socket方式

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
//socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array("sec"=>20, "usec"=>0));
socket_connect($socket, 'www.baidu.com', 80);
//里面的換行代表 \r\n 注意拷貝的代碼后面可能有空格
$http = <<<eof
GET / HTTP/1.0
Accept: */*
User-Agent: Lowell-Agent
Host: www.baidu.com
Connection: Close
eof;
socket_write($socket, $http, strlen($http));
while($str = socket_read($socket, 1024))
{
  echo $str;
}
socket_close($socket);

fsockopen方式

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

原始socket方式

$fp = stream_socket_client("tcp://www.baidu.com:80", $errno, $errstr, 30);
if (!$fp) {
  echo "$errstr ($errno)<br />\n";
} else {
  $http = <<<eof
GET / HTTP/1.0
Accept: */*
User-Agent: Lowell-Agent
Host: www.baidu.com
Connection: Close
eof;
  fwrite($fp, $http);
  while (!feof($fp)) {
    echo fgets($fp, 1024);
  }
  fclose($fp);
}

stream  方式(get):

$http = <<<eof
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Cookie: BAIDUID=79D98B1AD8436C57B967E111E484F1CD:FG=1; BDUSS=lF-UFFOanFPVG92NmF4U3NiTEoxOFh4YVBCTnZaMUtoTUNhZmxrWThwN25IaUJVQVFBQUFBJCQAAAAAAAAAAAEAAADzo1gKc2lxaW5pYW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOeR-FPnkfhTU; BAIDUPSID=79D98B1AD8436C57B967E111E484F1CD; BD_UPN=13314352; BD_HOME=1; H_PS_PSSID=10047_1435_10874_10212_10501_10496_10753_10796_10219_10355_10666_10597_10095_10658_10442_10700_10460_10360_10618; sug=3; sugstore=0; ORIGIN=2; bdime=0
Connection: keep-alive
Cache-Control: max-age=0
eof;
$hdrs = array(
    'http' =>array(
        'header' => $http,
        'timeout'=>1, //超時 秒
        'method' => 'GET', //默認(rèn)方式
         'protocol_version' => '1.1', //默認(rèn)為 1.0
    ),
);
//參數(shù)格式參考 http://php.net/manual/zh/context.http.php
//curl方式的格式可以參考; http://php.net/manual/zh/context.curl.php
$context = stream_context_create($hdrs);
echo file_get_contents('http://www.baidu.com', 0, $context);

stream  方式 post:

$postdata = http_build_query(array('act'=>'save', 'id'=>387171));
$http = <<<eof
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Content-Type: application/x-www-form-urlencoded; charset=UTF-8 
Cookie: BAIDUID=79D98B1AD8436C57B967E111E484F1CD:FG=1; BDUSS=lF-UFFOanFPVG92NmF4U3NiTEoxOFh4YVBCTnZaMUtoTUNhZmxrWThwN25IaUJVQVFBQUFBJCQAAAAAAAAAAAEAAADzo1gKc2lxaW5pYW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOeR-FPnkfhTU; BAIDUPSID=79D98B1AD8436C57B967E111E484F1CD; BD_UPN=13314352; BD_HOME=1; H_PS_PSSID=10047_1435_10874_10212_10501_10496_10753_10796_10219_10355_10666_10597_10095_10658_10442_10700_10460_10360_10618; sug=3; sugstore=0; ORIGIN=2; bdime=0
Connection: keep-alive
Cache-Control: max-age=0
eof;
#注意post方式需要增加Content-Type
$hdrs = array(
    'http' =>array(
        'header' => $http,
        'timeout'=>1, //超時 秒
        'method' => 'POST',
        'content' => $postdata,
         'protocol_version' => '1.1', //默認(rèn)為 1.0
    ),
);
//參數(shù)格式參考 http://php.net/manual/zh/context.http.php
//curl方式的格式可以參考; http://php.net/manual/zh/context.curl.php
$context = stream_context_create($hdrs);
echo file_get_contents('http://test.cm/song.php', 0, $context);

注意:http1.1 中必須包含 Host 頭, 而 http1.0中則可以沒有

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php socket用法總結(jié)》、《PHP基本語法入門教程》、《PHP錯誤與異常處理方法總結(jié)》及《php常用函數(shù)與技巧總結(jié)

希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP安裝memcached擴(kuò)展筆記

    PHP安裝memcached擴(kuò)展筆記

    這篇文章主要介紹了PHP安裝memcached擴(kuò)展筆記,本文講解了安裝服務(wù)端、launchpad、安裝memcached擴(kuò)展以及配置PHP.ini等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • php中引用符號(&)的使用詳解

    php中引用符號(&)的使用詳解

    php的引用就是在變量或者函數(shù)、對象等前面加上&符號,在PHP 中引用的意思是:不同的名字訪問同一個變量內(nèi)容,下面介紹如何使用PHP的引用
    2013-11-11
  • php版微信數(shù)據(jù)統(tǒng)計(jì)接口用法示例

    php版微信數(shù)據(jù)統(tǒng)計(jì)接口用法示例

    這篇文章主要介紹了php版微信數(shù)據(jù)統(tǒng)計(jì)接口用法,結(jié)合實(shí)例形式分析了php微信數(shù)據(jù)統(tǒng)計(jì)接口功能及相關(guān)的使用技巧,需要的朋友可以參考下
    2016-10-10
  • 詳解各種PHP函數(shù)漏洞

    詳解各種PHP函數(shù)漏洞

    這篇文章主要介紹了詳解各種PHP函數(shù)漏洞,對漏洞感興趣的同學(xué),可以參考下
    2021-04-04
  • php 基礎(chǔ)函數(shù)

    php 基礎(chǔ)函數(shù)

    本文主要介紹了php的基礎(chǔ)函數(shù)。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • PHP十六進(jìn)制顏色隨機(jī)生成器功能示例

    PHP十六進(jìn)制顏色隨機(jī)生成器功能示例

    這篇文章主要介紹了PHP十六進(jìn)制顏色隨機(jī)生成器功能,結(jié)合具體實(shí)例形式分析了php隨機(jī)生成十六進(jìn)制數(shù)值表示形式的相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • PHP精確到毫秒秒殺倒計(jì)時實(shí)例詳解

    PHP精確到毫秒秒殺倒計(jì)時實(shí)例詳解

    這篇文章主要介紹了PHP精確到毫秒秒殺倒計(jì)時實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • php 文章調(diào)用類代碼

    php 文章調(diào)用類代碼

    自己寫的MonolithCMS上面用到的文章類,可能不是很通用, 但是勝在我有全部的注釋
    2011-08-08
  • PHP的加密方式及原理

    PHP的加密方式及原理

    有興趣研究了一下PHP的加密方式及原理,說白了算不上加密,只是用了URL編碼和BASE64編碼的轉(zhuǎn)換
    2012-06-06
  • 整理的9個實(shí)用的PHP庫簡介和下載

    整理的9個實(shí)用的PHP庫簡介和下載

    9個非常有用的PHP類庫,相信一定可以為你的WEB開發(fā)提供更好和更為快速的方法。
    2010-11-11

最新評論

祁连县| 龙岩市| 长泰县| 牟定县| 蒲江县| 安吉县| 诏安县| 无极县| 永福县| 平和县| 乌兰察布市| 崇信县| 贡嘎县| 饶阳县| 尼玛县| 镇原县| 慈利县| 徐水县| 安顺市| 新河县| 眉山市| 龙南县| 普兰县| 宁都县| 互助| 南投市| 绵竹市| 新巴尔虎右旗| 浮梁县| 望奎县| 雷波县| 峡江县| 泗阳县| 黑水县| 金山区| 娱乐| 龙陵县| 徐水县| 龙州县| 家居| 南靖县|