php中用socket模擬http中post或者get提交數(shù)據(jù)的示例代碼
廢話不多說。直接上代碼:
sock_post.php:
<?php
function sock_post($url, $data='') {
$url = parse_url($url);
$url['scheme'] || $url['scheme'] = 'http';
$url['host'] || $url['host'] = $_SERVER['HTTP_HOST'];
$url['path'][0] != '/' && $url['path'] = '/'.$url['path'];
$query = $data;
if(is_array($data)) $query = http_build_query($data);
$fp = @fsockopen($url['host'], $url['port'] ? $url['port'] : 80);
if (!$fp) return "Failed to open socket to $url[host]";
fputs($fp, sprintf("POST %s%s%s HTTP/1.0/n", $url['path'], $url['query'] ? "?" : "", $url['query']));
fputs($fp, "Host: $url[host]/n");
fputs($fp, "Content-type: application/x-www-form-urlencoded/n");
fputs($fp, "Content-length: " . strlen($query) . "/n");
fputs($fp, "Connection: close/n/n");
fputs($fp, "$query/n");
$line = fgets($fp,1024);
if (@!eregi("^HTTP/1/.. 200", $line)) return;
$results = "";
$inheader = 1;
while(!feof($fp)) {
$line = fgets($fp,1024);
if ($inheader && ($line == "/n" || $line == "/r/n")) {
$inheader = 0;
}elseif (!$inheader) {
$results .= $line;
}
}
fclose($fp);
return $results;
}
$re = sock_post('http://localhost/direct_post/get_post.php?id=1',array('wel'=>'hello'));
echo $re;
?>
get_post.php:
<?php
echo "post:";
print_r($_POST);
echo 'get:';
print_r($_GET);
?>
- PHP中$GLOBALS[''HTTP_RAW_POST_DATA'']和$_POST的區(qū)別分析
- PHP中Http協(xié)議post請求參數(shù)
- php 利用socket發(fā)送HTTP請求(GET,POST)
- 使用PHP Socket 編程模擬Http post和get請求
- php中運用http調(diào)用的GET和POST方法示例
- PHP實現(xiàn)支持GET,POST,Multipart/form-data的HTTP請求類
- php獲取通過http協(xié)議post提交過來xml數(shù)據(jù)及解析xml
- PHP使用Http Post請求發(fā)送Json對象數(shù)據(jù)代碼解析
相關(guān)文章
php+jQuery+Ajax實現(xiàn)點贊效果的方法(附源碼下載)
這篇文章主要介紹了php+jQuery+Ajax實現(xiàn)點贊效果的方法,結(jié)合實例形式詳細介紹了php結(jié)合jQuery的ajax無刷新提交實現(xiàn)點贊功能的具體步驟與相關(guān)技巧,需要的朋友可以參考下2015-12-12php進程(線程)通信基礎之System V共享內(nèi)存簡單實例分析
這篇文章主要介紹了php進程(線程)通信基礎之System V共享內(nèi)存,結(jié)合簡單實例形式分析了PHP System V共享內(nèi)存原理、相關(guān)函數(shù)與基本使用技巧,需要的朋友可以參考下2019-11-11PHP的Yii框架中創(chuàng)建視圖和渲染視圖的方法詳解
這篇文章主要介紹了PHP的Yii框架中創(chuàng)建視圖和渲染視圖的方法詳解,包括CWidget小物件的講解及視圖中渲染另一個視圖的方法等,需要的朋友可以參考下2016-03-03php_imagick實現(xiàn)圖片剪切、旋轉(zhuǎn)、銳化、減色或增加特效的方法
這篇文章主要介紹了php_imagick實現(xiàn)圖片剪切、旋轉(zhuǎn)、銳化、減色或增加特效的方法,可實現(xiàn)通過調(diào)用ImageMagick功能的PHP擴展使PHP具備和ImageMagick相同的功能,最終實現(xiàn)強大的ImageMagick圖形處理功能,非常具有實用價值,需要的朋友可以參考下2014-12-12php使用unset()刪除數(shù)組中某個單元(鍵)的方法
這篇文章主要介紹了php使用unset()刪除數(shù)組中某個單元(鍵)的方法,實例分析了unset函數(shù)在刪除數(shù)組單元時的使用技巧,需要的朋友可以參考下2015-02-02