php curl实现get和post的代码

来源:互联网 发布:java使用redis做缓存 编辑:程序博客网 时间:2024/04/30 03:34
类似于dreamhost这类主机服务商,是显示fopen的使用的。使用php的curl可以实现支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传,kerberos、基于HTT格式的上传、代理、cookie、用户+口令证明、文件传送恢复、http代理通道就最常用的来说,是基于http的get和post方法。 

代码实现: 

1、http的get实现 
复制代码代码如下:

$ch = curl_init("http://www.jbxue.com/") ; 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; 
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ; 
$output = curl_exec($ch) ; 
$fh = fopen("out.html", 'w') ; 
fwrite($fh, $output) ; 
fclose($fh) ; 

2、http的post实现 
复制代码代码如下:

//extract data from the post 
extract($_POST) ; 
//set POST variables 
$url = 'http://www.jbxue.com /get-post.php' ; 
$fields = array( 
'lname'=>urlencode($last_name) , 
'fname'=>urlencode($first_name) , 
'title'=>urlencode($title) , 
'company'=>urlencode($institution) , 
'age'=>urlencode($age) , 
'email'=>urlencode($email) , 
'phone'=>urlencode($phone) 
); 
//url-ify the data for the POST 
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&' ; } 
rtrim($fields_string ,'&') ; 
//open connection 
$ch = curl_init() ; 
//set the url, number of POST vars, POST data 
curl_setopt($ch, CURLOPT_URL,$url) ; 
curl_setopt($ch, CURLOPT_POST,count($fields)) ; 
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string) ; 
//execute post 
$result = curl_exec($ch) ; 
//close connection 
curl_close($ch) ;