socket與模擬http請求

2022-03-14 07:42:34 字數 1209 閱讀 9539

這段**可以實現模擬http請求。

1.fsockopen函式開啟socket連線;

2.fwrite函式把get請求字串寫入檔案指標$fp裡,即可請求到1.txt這個檔案。(這裡的原理是:

執行-cmd-telnet 192.168.1.234 80(埠80前不要冒號)-get /1.txt

按enter鍵後就出現了1.txt的內容。

因為當你在瀏覽器中輸入url回車時,就是在做這個事情,當然瀏覽器要做的更多。

整個**的原理:

fsocketopen 是直接建立和訪問tcp連線的方式,建立後可以用相關協議去訪問,比如redis memcache http ftp 等等,輸入是用php輸出函式實現的fwrite。

當獲取到請求的頁面後會自動斷開telnet連線是因為:主機在傳輸完所有的資料後會關閉連線,所以telnet 會顯示斷開連線。

利用fsocket模擬get和post請求:

<?php

//fsocket模擬get提交

echo "以下是get方式的響應內容:

";sock_get (

$gurl

);function sock_get($url) }

//fsocket模擬post提交

echo "以下是post方式的響應內容:

";sock_post (

$purl, "uu=rrrrrrrrrrrr&&kk=mmmmmm");

function sock_post($url, $query) }

?>

<?php

//請求的響應頁面t.php

if (isset ( $_get ['uu'] ))

if (isset ( $_post ['uu'] ))

?>

C 模擬 Http 請求

1.支援 gzip 和 deflate 壓縮方式的響應資訊 2.post 可擴充套件提交檔案 3.可設定 未測試過 4.自動判斷響應內容的字符集 簡單判斷,真實情況很複雜,有些無字符集描述的,或者 response.charset 是 iso 頁面是 utf 8 輸出是 gbk 環境很複雜,只能做到...

PHP模擬http請求

方法一 利用php的socket程式設計來直接給介面傳送資料來模擬post的操作。建立兩個檔案post.php,getpost.php post.php內容如下 flag 0 params errno errstr 要post的資料 argv array var1 abc var2 how are ...

php模擬http請求

http請求有get,post。php傳送http請求有三種方式 我所知道的有三種,有其他的告訴我 file get contents 詳情見 curl傳送請求。fsocket傳送。下面說使用curl傳送。首先環境需要配置好curl元件。1 2 3 4 5 6 7 8 9 10 在windows中讓...