我有一个名为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的值。
答案 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);