php http傳送get、post請求的幾種方法
<?php $url='http://www.domain.com/'; $html = file_get_contents($url); echo $html; ?>
方法2: 用fopen開啟url, 以get方式獲取內容
<?php $fp = fopen($url, 'r'); //返回請求流資訊(陣列:請求狀態,阻塞,返回值是否為空,返回值http頭等)stream_get_meta_data($fp);
while(!feof($fp)) { $result .= fgets($fp, 1024); } echo "url body: $result"; fclose($fp); ?>
方法3:用file_get_contents函式,以post方式獲取url
<?php $data = array ('foo' => 'bar'); //生成url-encode後的請求字串,將陣列轉換為字串 $data = http_build_query($data); $opts = array ( <span style="white-space:pre"> </span>'http' => array ( <span style="white-space:pre"> </span>'method' => 'POST', <span style="white-space:pre"> </span>'header'=> "Content-type: application/x-www-form-urlencoded\r\n" . <span style="white-space:pre"> </span>"Content-Length: " . strlen($data) . "\r\n", <span style="white-space:pre"> </span>'content' => $data <span style="white-space:pre"> </span>) ); 生成請求的控制代碼檔案 $context = stream_context_create($opts); $html = file_get_contents('http://localhost/e/admin/test.html', false, $context); echo $html; ?>
方法4:用fsockopen函式開啟url,以get方式獲取完整的資料,包括header和body,fsockopen需要 PHP.ini 中
allow_url_fopen 選項開啟 <?php function get_url ($url,$cookie=false) { $url = parse_url($url); $query = $url[path]."?".$url[query]; echo "Query:".$query; $fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30); if (!$fp) { return false; } else { $request = "GET $query HTTP/1.1\r\n"; $request .= "Host: $url[host]\r\n"; $request .= "Connection: Close\r\n"; if($cookie) $request.="Cookie: $cookie\n"; $request.="\r\n"; fwrite($fp,$request); while()) { $result .= @fgets($fp, 1024); } fclose($fp); return $result; } } //獲取url的html部分,去掉header function GetUrlHTML($url,$cookie=false) { $rowdata = get_url($url,$cookie); if($rowdata) { $body= stristr($rowdata,"\r\n\r\n"); $body=substr($body,4,strlen($body)); return $body; } return false; } ?>
方法5:用fsockopen函式開啟url,以POST方式獲取完整的資料,包括header和body
<?php function HTTP_Post($URL,$data,$cookie, $referrer="") { // parsing the given URL $URL_Info=parse_url($URL); // Building referrer if($referrer=="") // if not given use this script as referrer $referrer="111"; // making string from $data foreach($data as $key=>$value) $values[]="$key=".urlencode($value); $data_string=implode("&",$values); // Find out which port is needed - if not given use standard (=80) if(!isset($URL_Info["port"])) $URL_Info["port"]=80; // building POST-request: $request.="POST ".$URL_Info["path"]." HTTP/1.1\n"; $request.="Host: ".$URL_Info["host"]."\n"; $request.="Referer: $referer\n"; $request.="Content-type: application/x-www-form-urlencoded\n"; $request.="Content-length: ".strlen($data_string)."\n"; $request.="Connection: close\n"; $request.="Cookie: $cookie\n"; $request.="\n"; $request.=$data_string."\n"; $fp = fsockopen($URL_Info["host"],$URL_Info["port"]); fputs($fp, $request); while(!feof($fp)) { $result .= fgets($fp, 1024); } fclose($fp); return $result; } ?>[size=13] [/size]方法6:使用curl庫,使用curl庫之前,可能需要檢視一下php.ini是否已經打開了curl擴充套件
<?php $ch = curl_init(); $timeout = 5; curl_setopt ($ch, CURLOPT_URL, 'http://www.domain.com/'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); curl_close($ch); echo $file_contents; ?>當然你可以用下面的例子來測試
function tj_post($remote_server, $post_string) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $remote_server); curl_setopt($ch, CURLOPT_POSTFIELDS, 'mypost=' . $post_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, "123456"); $data = curl_exec($ch); curl_close($ch); return $data; }$post_data = "a=xxx&b=123";//引數可以根據實際情況寫
$jieguo=tj_post("你要post的網址",$post_data);
相關推薦
php http傳送get、post請求的幾種方法
方法1: 用file_get_contents 以get方式獲取內容 <?php $url='http://www.domain.com/'; $html = file_get_contents($url); echo $html; ?> 方法
java傳送http的get、post請求
package com.ruanwei.tool; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataOutputStream; import java.io.
java使用HttpClient模擬傳送http的get、post請求
Http請求類 public class HttpRequest { /** * 向指定URL傳送GET方法的請求 * * @param url * 傳送請求的URL * @param pa
java傳送http的get、post請求,使用fastjson傳json格式資料(application/json)
GET方式: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import ja
(24)java傳送http的get、post請求
package wzh.Http; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.n
java發送http的get、post請求
itl 關閉 print eal adl conn trace 分享 src java發送http的get、post請求 Http請求類 package wzh.Http; import java.io.BufferedReader; import java.io.
SpringCloud 之 Fegin —— 傳送GET、POST請求以及檔案上傳
深信自己通過學習理解寫出來的才是自己的 --
php CURL模擬GET、POST請求。
/** * get * @param string $url 請求地址 */ function GetHttp($url){ // 關閉控制代碼 $curl = curl_init(); // 啟動一個CURL會話 curl_setopt($curl, CURLOPT_URL, $url); curl_set
基於OkHttp網路通訊工具類(傳送get、post請求、檔案上傳和下載)
一、為什麼要用OkHttp? okhttp是專注於提升網路連線效率的http客戶端。 優點: 1、它能實現同一ip和埠的請求重用一個socket,這種方式能大大降低網路連線的時間,和每次請求都建立socket,再斷開socket的方式相比,降低了伺服器伺服器的壓力。 2、okhttp 對
向指定地址傳送get、post請求
URL的openConnection()方法將返回一個URLConnection物件,該物件表示應用程式和 URL 之間的通訊連結。程式可以通過URLConnection例項向該URL傳送請求、讀取URL引用的資源。 通常建立一個和 URL 的連線,併發送請求、讀取此 URL 引用的資源需要如下幾個
java 傳送get、post請求並接收請求結果
直接上程式碼: public class HttpRequest { /** * 向指定URL傳送GET方法的請求 * * @param url * 傳送請求的URL * @param par
php curl 傳送GET,POST請求的函式
protected function http_request($url, $data = null) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url);
使用file_get_contents() 傳送GET、POST請求
伺服器端執行HTTP請求,大家經常使用的就是CURL,curl工具的確是很好的資料檔案傳輸工具,那麼除此之外還有其他的工具能實現這個功能嗎? 現在為你介紹一個很常見的工具 file_get_content() 納尼,這不是PHP檔案操作函式嗎??? 竟然還能實現GET POST 請求??? 這裡
Java傳送http的get、post、put請求
1. HTTP GET請求 /** * 向指定URL傳送GET方法的請求 * @param url 傳送請求的URL * @param param
C#模擬傳送http get、post請求的方式
1、WebRequest 同步方式: /// <summary> /// 向指定URL發起請求(可用於遠端傳送資料) /// </summary> /// <param name="url"> /
java傳送http get、post請求
/** * 向指定URL傳送GET方法的請求 * @param url 傳送請求的URL * @param param 請求引數,請求引數應該是 name1=value1&name2=value2 的形式。 */ publ
javascript傳送get、post http請求
1. 獲得XMLHttpRequest物件 function createXMLHttpRequest() { var xmlHttp; if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); i
php使用cUrl方法 get、post請求
http log lds ray lan init foreach get方法 spa php使用curl方法,請確保已經開啟curl擴展。傳送門:http://www.cnblogs.com/wgq123/p/7450667.html /**Curl請求get方法 *@
python urllib2 http get、post請求的區別
返回 sof left span outline text param quest apple python urllib2 實現HTTP 的GET POST 請求python 一般可以用模塊urllib2 來實現GET POST的http 請求GET 請求 im
Linux命令傳送Http的get或post請求(curl和wget兩種方法)
Http請求指的是客戶端向伺服器的請求訊息,Http請求主要分為get或post兩種,在Linux系統下可以用curl和wget命令來模擬Http的請求。下面就來介紹一下Linux系統如何模擬Http的get或post請求。 一、get請求: 1、使用cur