php可以扮演资料的发送者。
简单的get
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://SomeDomain/SamplePath?SomeVar=test"); curl_exec($ch); curl_close($ch);
2. 简单的post
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://SomeDomain/SamplePath"); curl_setopt($ch, CURLOPT_POST, true); // 啟用POST curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query( array( "a"=>"123", "b"=>"321") )); curl_exec($ch); curl_close($ch);
3. 高级的post,可设置多个参数
$toURL = "http://SomeDomain/SamplePath?SomeVar=XX"; $post = array( "a"=>"123", "b"=>"321", ); $ch = curl_init(); $options = array( CURLOPT_URL=>$toURL, CURLOPT_HEADER=>0, CURLOPT_VERBOSE=>0, CURLOPT_RETURNTRANSFER=>true, CURLOPT_USERAGENT=>"Mozilla/4.0 (compatible;)", CURLOPT_POST=>true, CURLOPT_POSTFIELDS=>http_build_query($post), ); curl_setopt_array($ch, $options); // CURLOPT_RETURNTRANSFER=true 会返回服务器响应代码, // false 时只返回成功与否; $result = curl_exec($ch); curl_close($ch); echo $result;
4. post 发送文件
发送端代码:
$target_url = ‘http://127.0.0.1/accept.php‘; //This needs to be the full path to the file you want to send. $file_name_with_full_path = realpath(‘./sample.jpeg‘); /* curl will accept an array here too. * Many examples I found showed a url-encoded string instead. * Take note that the ‘key‘ in the array will be the key that shows up in the * $_FILES array of the accept script. and the at sign ‘@‘ is required before the * file name. */ $post = array(‘extra_info‘ => ‘123456‘,‘file_contents‘=>‘@‘.$file_name_with_full_path); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$target_url); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $result=curl_exec ($ch); curl_close ($ch); echo $result;
接收端代码:
$uploaddir = realpath(‘./‘) . ‘/‘;$uploadfile = $uploaddir . basename($_FILES[‘file_contents‘][‘name‘]);echo ‘<pre>‘; if (move_uploaded_file($_FILES[‘file_contents‘][‘tmp_name‘], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; } echo ‘Here is some more debugging info:‘; print_r($_FILES); echo "\n<hr />\n"; print_r($_POST);print "</pr" . "e>\n";
本文出自 “安家圈子交流学习” 博客,请务必保留此出处http://brucetam.blog.51cto.com/1863614/1433671
php curl 发送get或者post请求,布布扣,bubuko.com
原文地址:http://brucetam.blog.51cto.com/1863614/1433671