phpposthttps
『壹』 對於https協議的網站,可以用php 的curl來模擬get請求和post請求嗎,能得到返回值嗎
可以。
CURLOPT_PROTOCOLS
CURLPROTO_* 的位域指。如果被啟用,位域值會限定libcurl在傳輸過程中有哪些可使用的協議。這將允許你在編譯libcurl時支持眾多協議,但是限制只是用它們中被允許使用的一個子集。默認libcurl將會使用全部它支持的協議。參見 CURLOPT_REDIR_PROTOCOLS .
可用的協議選項為:CURLPROTO_HTTP、CURLPROTO_HTTPS、CURLPROTO_FTP、CURLPROTO_FTPS、CURLPROTO_SCP、CURLPROTO_SFTP、CURLPROTO_TELNET、CURLPROTO_LDAP、CURLPROTO_LDAPS、CURLPROTO_DICT、CURLPROTO_FILE、CURLPROTO_TFTP、CURLPROTO_ALL
對了,可定能得到返回值
『貳』 如何通過php發送https Get請求
我封裝了一個Curl類,你看能不能用的上
classHttp{
publicfunctioncurlRequest($url,$postData='',$timeOut=10,$httpHeader=array()){
$handle=curl_init();
curl_setopt($handle,CURLOPT_URL,$url);
if($httpHeader){
curl_setopt($handle,CURLOPT_HTTPHEADER,$httpHeader);
}
curl_setopt($handle,CURLOPT_RETURNTRANSFER,true);
curl_setopt($handle,CURLOPT_HEADER,0);
curl_setopt($handle,CURLOPT_TIMEOUT,$timeOut);
curl_setopt($handle,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($handle,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($handle,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($handle,CURLOPT_USERAGENT,'Mozilla/5.0(Macintosh;IntelMacOSX10_7_2)AppleWebKit/537.36(KHTML,likeGecko)Chrome/27.0.1453.93Safari/537.36');
curl_setopt($handle,CURLOPT_ENCODING,'gzip,deflate,sdch');
if(!empty($postData)){
curl_setopt($handle,CURLOPT_POST,1);
curl_setopt($handle,CURLOPT_POSTFIELDS,$postData);
}
$result['response']=curl_exec($handle);
$result['httpStatus']=curl_getinfo($handle,CURLINFO_HTTP_CODE);
$result['fullInfo']=curl_getinfo($handle);
$result['errorMsg']='';
$result['errorNo']=0;
if(curl_errno($handle)){
$result['errorMsg']=curl_error($handle);
$result['errorNo']=curl_errno($handle);
}
curl_close($handle);
return$result;
}
}
$curl=newHttp();
$strUrl='https://www..com?search=keywords';
$arrResponse=$curl->curlRequest($strUrl);//這就是請求結果
『叄』 用PHP怎麼發送HTTP POST 請求。怎麼獲得返回結果。
<form id="form1" name="form1" method="post" action="">
<input type="text" name="text" id="text" />
<input type="submit" name="button" id="button" value="提交" />
</form> 接收用$_POST['text'] 這是你在文本框寫的值.
『肆』 請教高手關於php中用curl向https:// post數據的問題
呵呵,https一般是443埠,你沒指定埠,當然不成了。。。。你用的是默認的80埠啊
『伍』 用php做個post提交
看來樓主的截圖,寫的純粹的對curl的運用,個人寫個簡化版的!!
$curl是介面頁面。。。作用是取數據然後傳遞給本頁面!!這個頁面不是來源頁面,只是一個介面文件而已!!如果你連這個頁面都不想要,那就只能在本頁面自己填寫獲取數據的代碼了!!也就不用使用到post數據了!!
$post_val是post提交所需的數據,如果為空,那就是get獲取數據,也就是說$curl要自帶參數,這個要看你介面頁面的程序所定了!!
例子:
1.php
$b = $_GET['k'];
//這邊獲取的就是2.php拋出來的數據。。。
$get_value = curl_file_get_contents(『2.php』,"ct=28&lm=0&word=".$b."&co=23");
var_mp($get_value);//這邊就是你想要的代碼。。隨便你怎麼處理了!!
//這個是curl的精簡版。。。不用那麼多代碼
function curl_file_get_contents($curl,$post_val="")
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $curl);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
if($post_val)
{
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_val);
}
$r = curl_exec($ch);
curl_close($ch);
return $r;
}
2.php(介面文件,也相當於把方法寫在另一個文件,通過url調用此方法並回傳值給1.php!!多用於2個文件不在同一程序內,引用(include)不了,又懶得自己再寫個方法,從而通過這種方法獲取,比如說淘寶介面)
$get_key = $_POST['word']; //這邊就指明了只用能post方式獲取數據
..................(這邊就是通過獲取的$get_key來獲取數據,並賦值與$value)......
return $value; //這邊把數據拋給1.php(誰調用介面的就拋給誰)
這樣寫的好處是,假如獲取$value的代碼很長,這樣寫可以減少代碼量!!不在同一個伺服器或者框架下面的程序也可以調用。。。。(同一個框架下的代碼可以用include引入進來!!)
先寫到著吧!!!還有不懂的可以自己網路下或者追問。。我看到了會繼續回答的!!
『陸』 php中get和post的區別
PHP中有$_REQUEST與$_POST、$_GET用於接受表單數據。
一、$_REQUEST與$_POST、$_GET的區別和特點
$_REQUEST[]具用$_POST[] $_GET[]的功能,但是$_REQUEST[]比較慢。通過POST和GET方法提交的所有數據都可以通過$_REQUEST數組獲得。
二、$_POST、$_GET的區別和特點
1. GET是從伺服器上獲取數據,POST是向伺服器傳送數據。
2. GET是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。POST是通過HTTP POST機制,將表單內各個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對於GET方式提交表單數據,伺服器端用$_GET[『name』]獲取變數的值,對於POST方式提交表單數據,伺服器端用$_POST[『name』]獲取提交的數據,當然,兩者都可以通過$_REQUEST[『name』]獲得表單數據。對於REQUEST方式提交表單數據,伺服器端用$_REQUEST[『name』]獲取變數的值,但這種方式很少用。
4. GET傳送的數據量較小,不能大於2KB。POST傳送的數據量較大,一般被默認為不受限制。但理論上,一般認為不能超過100KB。
5. GET安全性非常低,POST安全性較高。
6. GET表單值可以通過_GET獲取;但通過action的url設置的參數總是獲取不到的,<form method="get" action="a.asp?b=b">跟<form method="get"action="a.asp">是一樣的,也就是說,在這種情況下,GET方式會忽略action頁面後邊帶的參數列表。POST表單值可以通過_POST獲取;但通過action的url參數設置的參數則可以不能通過_POST獲取到。action=test.php?id=1這種就是GET方式傳值,可以用$_REQUEST和$_GET接受傳值,但不能用POST方式獲取到值,即使表單是POST方式提交。所在,在提交表單時,如果action中同時有參數,最好只能通過POST表單方式,對於表單內數據,直接通過POST獲取,對於action中參數,童工GET獲取。
在做數據查詢時,建議用GET方式,而在做數據添加、修改或刪除時,建議用POST方式。
request是先讀取 get再讀post 的, 同時存在, 即覆蓋掉前面的變數。
『柒』 php如何獲得http post的數據
在PHP段直接用$_POST這個全局數組來獲取,也可以通過$_REQUEST來獲取值
『捌』 php怎麼在post前加密用戶名 密碼
用戶名 密碼 都加上一個用戶的注冊時間 然後md5(); 這樣客戶端不能知道真正的信息,但是你可以知道。 前提是你必須記錄下這個用戶名的加密值來進行用戶識別。