PHP中使用socket方式GET、POST數(shù)據(jù)實例
更新時間:2015年04月02日 09:26:45 投稿:junjie
這篇文章主要介紹了PHP中使用socket方式GET、POST數(shù)據(jù)實例,本文分別給出GET方式和POST方式的代碼實例,需要的朋友可以參考下
1. 使用 PHP 獲得網(wǎng)頁內(nèi)容 GET方式
復(fù)制代碼 代碼如下:
<?php
function socketGet($url, &$ret)
{
$urlArr = parse_url($url);
$host = $urlArr['host'];
$port = isset($urlArr['port'])?$urlArr['port']:80;
$path = isset($urlArr['path'])?$urlArr['path']:"/";
$fp = fsockopen($host, $port, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno)<br />\n";
return false;
}
else
{
$out = "GET $path HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Connection: Close\r\n\r\n";
$ret = "";
fwrite($fp, $out);
while (!feof($fp))
{
$ret .= fgets($fp, 128);
}
fclose($fp);
}
return true;
}
?>
2. 使用 PHP 向頁面 POST 數(shù)據(jù)
復(fù)制代碼 代碼如下:
<?php
function socketPost($url, $data, &$ret)
{
$urlArr = parse_url($url);
$host = $urlArr['host'];
$port = isset($urlArr['port'])?$urlArr['port']:80;
$path = isset($urlArr['path'])?$urlArr['path']:"/";
$fp = fsockopen($host, $port, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno)<br />\n";
return false;
}
else
{
$out = "POST $path HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Content-Length: ".strlen($data)."\r\n";
$out .= "Connection: Keep-Alive\r\n\r\n";
$out .= $data;
$ret = "";
fwrite($fp, $out);
while (!feof($fp))
{
$ret .= fgets($fp, 128);
}
fclose($fp);
}
return true;
}
?>
如果post報錯,把$out .= "Connection: Keep-Alive\r\n\r\n";中的Keep-Alive改成Close
您可能感興趣的文章:
- php 利用socket發(fā)送HTTP請求(GET,POST)
- PHP使用socket發(fā)送HTTP請求的方法
- 使用PHP Socket 編程模擬Http post和get請求
- php中用socket模擬http中post或者get提交數(shù)據(jù)的示例代碼
- php基于socket實現(xiàn)SMTP發(fā)送郵件的方法
- php中使用Curl、socket、file_get_contents三種方法POST提交數(shù)據(jù)
- php socket方式提交的post詳解
- PHP socket 模擬POST 請求實例代碼
- php使用socket post數(shù)據(jù)到其它web服務(wù)器的方法
- php自定義類fsocket模擬post或get請求的方法
- php使用socket調(diào)用http和smtp協(xié)議實例小結(jié)
相關(guān)文章
基于php+MySql實現(xiàn)學(xué)生信息管理系統(tǒng)實例
這篇文章主要介紹了基于php+MySql實現(xiàn)學(xué)生信息管理系統(tǒng)實例,文中通過圖片功能介紹的非常詳細,文章末尾附帶項目源碼,需要的朋友可以參考下2020-08-08laravel 5.4 + vue + vux + element的環(huán)境搭配過程介紹
這篇文章主要給大家介紹了關(guān)于laravel 5.4 + vue + vux + element的環(huán)境搭配的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧。2018-04-04詳解Laravel5.6 Passport實現(xiàn)Api接口認證
這篇文章主要介紹了詳解Laravel5.6 Passport實現(xiàn)Api接口認證,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07