如果可以在codeigniter中将参数传递给curl?

时间:2017-08-23 04:14:22

标签: php codeigniter curl

我有一个名为Curl_Run_Experiment的卷曲控制器,它包含post_test函数来处理更新用户数据。这就是函数的样子:

function post_test(){
    $url = "http://{$_SERVER['HTTP_HOST']}/{$PATHNAME}/update";

    $data = array(
        'user_id'=>'',
        'fullname'=>'testing',
        'phone'=>'+6270707070707'
    );

    //init
    $ch = curl_init();

    //set opt
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

    //exec
    $output = curl_exec($ch);

    //close
    curl_close($ch);

    echo $output;
}

我的问题是我们可以将参数放到post_test函数中,如:

function post_test($user_id){
    //something
}

所以当我访问链接时(http://localhost/ {$ PATHNAME} / Curl_Run_Experiment / post_test / 123),curl函数会识别出'123'是$ user_id的值。

1 个答案:

答案 0 :(得分:2)

首先 什么是PHP中的Curl以及为什么使用它?

  

PHP支持libcurl,这是一个由Daniel Stenberg创建的库   允许您连接和通信许多不同类型的   具有许多不同类型协议的服务器。 libcurl目前   支持http,https,ftp,gopher,telnet,dict,file和ldap   协议。 libcurl还支持HTTPS证书,HTTP POST,HTTP   PUT,FTP上传(这也可以通过PHP的ftp扩展来完成),   基于HTTP表单的上传,代理,cookie和用户+密码   认证

现在,如果您想要将Curl请求发送到任何接受post参数的URL,那么您可以使用 public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { /* if (f1 == null) { f1 = new Form1(); } */ Form1 f1x = Form1.getInstance(); DataTable dt1 = new DataTable(); f1x.dataGridView2.DataSource = dt1; dt1.Columns.Add("MessageID", typeof(string)); dt1.Columns.Add("Name", typeof(string)); dt1.Columns.Add("Number", typeof(string)); DataRow dr = dt1.NewRow(); dr["MessageID"] = IDtext.Text; ; dr["Name"] = nameText.Text; dr["Number"] = numberText.Text; dt1.Rows.Add(dr); f1x.Show(); } } 。 如果你想点击任何响应给出任何响应的URL的Curl请求,你可以使用CURL_POST

例如Curl Get:

CurlGet

例如Curl Post:

$employee_data_url = "https://urltoanyapi";
$employee_data = CurlGet($employee_data_url);