zoukankan      html  css  js  c++  java
  • PHP curl 实现RESTful PUT DELETE 实例

    PHP curl 实现RESTful PUT DELETE 实例

    客户端

    client.php

    <?php

    //PUT

    $curl_handle = curl_init ();
    // Set default options.
    curl_setopt ( $curl_handle, CURLOPT_URL, 'http://my.focus.cn/test/socket.php');
    curl_setopt ( $curl_handle, CURLOPT_FILETIME, true );
    curl_setopt ( $curl_handle, CURLOPT_FRESH_CONNECT, false );


    curl_setopt ( $curl_handle, CURLOPT_HEADER, true );
    curl_setopt ( $curl_handle, CURLOPT_RETURNTRANSFER, true );
    curl_setopt ( $curl_handle, CURLOPT_TIMEOUT, 5184000 );
    curl_setopt ( $curl_handle, CURLOPT_CONNECTTIMEOUT, 120 );
    curl_setopt ( $curl_handle, CURLOPT_NOSIGNAL, true );
    curl_setopt ( $curl_handle, CURLOPT_HEADER, true );
    curl_setopt ( $curl_handle, CURLOPT_CUSTOMREQUEST, 'PUT' );
    $aHeader[] = "Content-Type:text/xml;charset=UTF-8";
    $aHeader[] = "x-bs-ad:private"; 
    curl_setopt($curl_handle, CURLOPT_HTTPHEADER, $aHeader);
    $file = 'client.php';
    $file_size = filesize($file);
    $h = fopen($file,'r');
    curl_setopt ( $curl_handle, CURLOPT_INFILESIZE, $file_size);
    curl_setopt ( $curl_handle, CURLOPT_INFILE, $h);
    curl_setopt ( $curl_handle, CURLOPT_UPLOAD, true );
    $ret = curl_exec ( $curl_handle );
    print_r($ret);

    ?>

    DELETE 只要将

    $curl_handle = curl_init (); 
    // Set default options. 
    curl_setopt ( $curl_handle, CURLOPT_URL, 'http://my.focus.cn/test/socket.php?file=socket.txt'); 
    curl_setopt ( $curl_handle, CURLOPT_FILETIME, true ); 
    curl_setopt ( $curl_handle, CURLOPT_FRESH_CONNECT, false ); 


    curl_setopt ( $curl_handle, CURLOPT_HEADER, true ); 
    curl_setopt ( $curl_handle, CURLOPT_RETURNTRANSFER, true ); 
    curl_setopt ( $curl_handle, CURLOPT_TIMEOUT, 5184000 ); 
    curl_setopt ( $curl_handle, CURLOPT_CONNECTTIMEOUT, 120 ); 
    curl_setopt ( $curl_handle, CURLOPT_NOSIGNAL, true ); 
    curl_setopt ( $curl_handle, CURLOPT_CUSTOMREQUEST, 'DELETE' ); 


    $ret = curl_exec ( $curl_handle );

    服务端

    server.php

    <?php

    $raw_post_data = file_get_contents('php://input', 'r');

    $method = $_SERVER['REQUEST_METHOD'];

    if('PUT' == $method)

    {
        $headers = apache_request_headers();
        file_put_contents('socket.txt',$raw_post_data.print_r($headers,true));

    }

    else if('DELETE'==$method)

    {

           unlink($_GET['file']);

    }


    echo '<?xml version="1.0" encoding="UTF-8"?><RET>OK</RET>';

  • 相关阅读:
    oracle的安装与plsql的环境配置
    Working with MSDTC
    soapui-java.lang.Exception Failed to load url
    Oracle 一个owner访问另一个owner的table,不加owner
    Call API relation to TLS 1.2
    Call API HTTP header Authorization: Basic
    VS2008 .csproj cannot be opened.The project type is not supported by this installat
    The changes couldn't be completed.Please reboot your computer and try again.
    Create DB Table View Procedure
    DB Change
  • 原文地址:https://www.cnblogs.com/goldenstones/p/6249146.html
Copyright © 2011-2022 走看看