當前位置:首頁 » 編程語言 » phpurlget

phpurlget

發布時間: 2024-03-02 18:35:42

『壹』 php怎麼獲取表單提交的數據啊

一、用file_get_contents以get方式獲取內容,需要輸入內容為:

1、<?php

2、$url='http://www.domain.com/?para=123';

3、$html=file_get_contents($url);

4、echo$html;

5、?>

二、用file_get_contents函數,以post方式獲取url,需要輸入內容為

1、<?php

2、$url='http://www.domain.com/test.php?id=123';

3、$data=array('foo'=>'bar');

4、$data=http_build_query($data);

5、$opts=array(

6、'http'=>array(

7、'method'=>'POST',

8、'header'=>"Content-type:application/x-www-form-urlencoded ".

9、"Content-Length:".strlen($data)." ",

10、'content'=>$data

11、)

12、);

13、$ctx=stream_context_create($opts);

14、$html=@file_get_contents($url,'',$ctx);

15、?>

三、用fopen打開url,以get方式獲取內容,需要輸入內容為

1、<?php

2、$fp=fopen($url,'r');

3、$header=stream_get_meta_data($fp);//獲取信息

4、while(!feof($fp)){

5、$result.=fgets($fp,1024);

6、叢升}

7、echo"urlheader:{$header}<br>":

8、echo"urlbody:$result";

9、fclose($fp);

10、納鄭碼?>

四、用fopen打開洞哪url,以post方式獲取內容,需要輸入內容為

1、<?php

2、$data=array('foo2'=>'bar2','foo3'=>'bar3');

3、$data=http_build_query($data);

4、$opts=array(

5、'http'=>array(

6、'method'=>'POST',

7、'header'=>"Content-type:application/x-www-form-urlencoded Cookie:cook1=c3;cook2=c4 ".

8、"Content-Length:".strlen($data)." ",

9、'content'=>$data

10、)

11、);

12、$context=stream_context_create($opts);

13、$html=fopen('http://www.test.com/zzzz.php?id=i3&id2=i4','rb',false,$context);

14、$w=fread($html,1024);

15、echo$w;

16、?>

五、用fsockopen函數打開url,以get方式獲取完整的數據,包括header和body,需要輸入內容為

1、?php

2、functionget_url($url,$cookie=false)

3、{

4、$url=parse_url($url);

5、$query=$url[path]."?".$url[query];

6、echo"Query:".$query;

7、$fp=fsockopen($url[host],$url[port]?$url[port]:80,$errno,$errstr,30);

8、if(!$fp){

9、returnfalse;

10、}else{

11、$request="GET$queryHTTP/1.1 ";

12、$request.="Host:$url[host] ";

13、$request.="Connection:Close ";

14、if($cookie)$request.="Cookie:$cookie ";

15、$request.=" ";

16、fwrite($fp,$request);

17、while(!@feof($fp)){

18、$result.=@fgets($fp,1024);

19、}

20、fclose($fp);

21、return$result;

22、}

23、}

24、//獲取url的html部分,去掉header

25、functionGetUrlHTML($url,$cookie=false)

26、{

27、$rowdata=get_url($url,$cookie);

28、if($rowdata)

29、{

30、$body=stristr($rowdata," ");

31、$body=substr($body,4,strlen($body));

32、return$body;

33、}

34、returnfalse;

35、}

36、?>

『貳』 php curl get 下載遠程zip文件保存在本地例子

<?php

if($_POST['submit']){
$url=$_POST['url']; //取得提交過來的地址http://hu60.cn/wap/0wap/addown.php/fetion_sms.zip
$url=urldecode($url);
$fname=basename("$url"); //返迴路徑中的文件名部分 fetion_sms.zip
$str_name=pathinfo($fname); //以數組的形式返迴文件路徑的信息
$extname=strtolower($str_name['extension']); //把擴展名轉換成小寫
//$uptypes=explode(",",$forum_upload); //取得可以上傳的文件格式
//$size=getFileSize($url);

$time=date("Ymd",time());

$upload_dir="./upload/";//上傳的路徑
$file_name=$time.rand(1000,9999).'.'.$fname;
$dir=$upload_dir.$file_name;//創建上傳目錄

//判斷目錄是否存在 不存在則創建
if(!file_exists($upload_dir)){
mkdir($upload_dir,0777,true);
}

$contents=curl_download($url,$dir);

if($contents){
echo "下載成功";
}else{
echo "下載失敗";
}

}

function curl_download($url, $dir) {
$ch = curl_init($url);
$fp = fopen($dir, "wb");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
$res=curl_exec($ch);
curl_close($ch);
fclose($fp);
return $res;
}

?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>遠程下載文件</title>
<form name="upform" method="post" action="" enctype='multipart/form-data'>
<input name='url' type='text' size='20'/>
<input type='submit' name='submit' value='遠程下載'/>
</form>
</body>
</html>

『叄』 復習本 03 PHP中post和get的區別

GET是HTTP中最原始的請求方式,在網頁中點擊一個超級鏈接或在地址欄輸入一個URL都會發送一個GET請求。在GET請求中,數據是後綴在URL後面來發送的。
GET方法的本意就是下載(與其對應的是上傳方法PUT),因此並不是專門用於傳遞數據的,它將請求數據全部經過URL編碼後綴在請求資源的後面,這樣一來,當數據很多時URL就會變得很長——但這並不是問題的所在,問題所在是一些WEB瀏覽器或伺服器程序會限制這行字元串的長度。這時,就需要用到 POST方法了。
顧名思義,POST方法的主要用途就是「傳遞」數據,它將數據放在所有請求標題的後面上傳,這樣一來,無論有多少數據上傳都不成問題了(這樣請求數據的大小之取決於WEB服務允許的尺寸了)。通常來說,對於表單數據如無特別需要都使用POST方法來上傳,這樣就無須去關心具體上傳數據的尺寸了。

區別:
1. get是從伺服器上獲取數據;
post是向伺服器傳送數據。
2. get是把參數數據隊列加到提交表單的action屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到;
post是通過HTTP post機制,將表單內各個欄位與其內容放置在HTML header內一起傳送到action屬性所指的URL地址。用戶看不到這個過程。
3. 對於get方式,伺服器端用Request.QueryString獲取變數的值;
對於post方式,伺服器端用Request.Form獲取提交的數據。
4. get傳送的數據量較小,不能大於2KB;
post傳送的數據量較大,一般被默認為不受限制。
5. get執行效率卻比post方法好;
post安全性比get較高(包含機密信息的話,建議用Post數據提交方式)。

6. 在做數據查詢時,建議用get方式;
在做數據添加、修改或刪除時,建議用post方式;

『肆』 php Curl的get和post方法

get方法

function http_get($url)

{

    $oCurl = curl_init();

    if (stripos($url, "https://") !== FALSE) {

        curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);

        curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);

        //curl_setopt($oCurl, CURLOPT_SSLVERSION, 1);

        //CURL_SSLVERSION_TLSv1

    }

    curl_setopt($oCurl, CURLOPT_URL, $url);

    curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);

    $sContent = curl_exec($oCurl);

    $aStatus = curl_getinfo($oCurl);

    curl_close($oCurl);

    if (intval($aStatus["http_code"]) == 200) {

        return $sContent;

    } else {

        return false;

    }

}

post方法

    // curlpost請求

    function http_post($url, $data = NULL, $json = false)

    {

        $curl = curl_init();

        curl_setopt($curl, CURLOPT_URL, $url);

        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

        if (!empty($data)) {

            if ($json && is_array($data)) {

                $data = json_encode($data);

            }

            curl_setopt($curl, CURLOPT_POST, 1);

            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

            if ($json) { //發送JSON數據

                curl_setopt($curl, CURLOPT_HEADER, 0);

                curl_setopt(

                    $curl,

                    CURLOPT_HTTPHEADER,

                    array(

                        'Content-Type: application/json; charset=utf-8',

                        'Content-Length:' . strlen($data)

                    )

                );

            }

        }

        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

        $res = curl_exec($curl);

        $errorno = curl_errno($curl);

        if ($errorno) {

            return array('errorno' => false, 'errmsg' => $errorno);

        }

        curl_close($curl);

        return json_decode($res, true);

    }

『伍』 php打開URL的幾種方法

PHP中打開URL地址的幾種方法總結,這里的函數主要用於小偷採集等函數。
1:用file_get_contents
以get方式獲取內容
復制代碼代碼如下:

<?php
$url='http://www..com/';

$html=file_get_contents($url);
//print_r($http_response_header);

ec($html);
printhr();
printarr($http_response_header);

printhr();
?>

示例代碼2:用fopen打開url,
以get方式獲取內容
復制代碼代碼如下:

<?
$fp=fopen($url,'r');

printarr(stream_get_meta_data($fp));
printhr();
while(!feof($fp)){

$result.=fgets($fp,1024);
}
echo"urlbody:$result";

printhr();
fclose($fp);
?>


示例代碼3:用file_get_contents函數,以post方式獲取url
復制代碼代碼如下:

<?php
$data=array('foo'=>
'bar');
$data=http_build_query($data);
$opts=array(
'http'
=>array(
'method'=>'POST',
'header'=>"Content-type:
application/x-www-form-urlencoded".
"Content-Length:".strlen($data).
"",
'content'=>$data
),
);
$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
復制代碼代碼如下:

<?
functionget_url
($url,$cookie=false){
$url=parse_url($url);
$query=
$url[path]."?".$url[query];
ec("Query:".$query);
$fp=fsockopen(
$url[host],$url[port]?$url[port]:80,$errno,$errstr,30);
if(!$fp){

returnfalse;
}else{
$request="GET$queryHTTP/1.1";

$request.="Host:$url[host]";
$request.="Connection:Close";

if($cookie)$request.="Cookie:$cookie ";
$request.="";

fwrite($fp,$request);
while(!@feof($fp)){
$result.=@fgets($fp,
1024);
}
fclose($fp);
return$result;
}
}

//獲取url的html部分,去掉header
functionGetUrlHTML($url,$cookie=false){

$rowdata=get_url($url,$cookie);
if($rowdata)
{
$body=
stristr($rowdata,"");
$body=substr($body,4,strlen($body));
return$body;

}
returnfalse;
}

?>

『陸』 php如何提取url中參數中的url裡面的參數

你應該說的是用GET方法傳送表單吧。這里的參數可以用PHP提供的數組GET[ ],來解決。例如:要提取這個jb_id,可以先聲明個變數:$jb_id=$_GET['jb_id']; 注意這里的變數名並不唯一。格式是:$變數名=$_GET[參數名];
你這個例子可寫一下代碼:
$jb_id=$_GET['jb_id'];
$id=$_GET['id'];
$sj=$_GET['sj'];
執行後, $jb_id值就是:11111 ,$id值就是:99999,$sj值就是:hsdbd
然後像處理一般變數那麼處理。
不知道你明白不?其實你也可以用POST方式傳遞參數,用法跟GET完全相同,只是表單中的方式要改為:POST

熱點內容
怎麼用安卓手機查蘋果的序列號 發布:2024-11-29 06:21:08 瀏覽:507
r11s原始密碼是多少 發布:2024-11-29 05:52:20 瀏覽:79
c語言枚舉法 發布:2024-11-29 05:50:58 瀏覽:125
大數據系統如何配置 發布:2024-11-29 05:48:44 瀏覽:89
連戰訪問西安小學 發布:2024-11-29 05:45:03 瀏覽:316
怎麼編譯原生安卓手機 發布:2024-11-29 05:44:28 瀏覽:193
java代碼編譯java文件 發布:2024-11-29 05:44:27 瀏覽:208
如何部署遠程伺服器 發布:2024-11-29 05:34:37 瀏覽:523
紅米系統存儲與手機存儲 發布:2024-11-29 05:33:55 瀏覽:198
qt反編譯工具 發布:2024-11-29 05:29:31 瀏覽:480