curl命令发post

php Curl的get和post方法

get方法

function http_get($url)

{

    $oCurl = curl_init();

    if (stripos($url, “https://“) !== FALSE) {

        curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);

        curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);

        //curl_setopt($oCurl, CURLOPT_SSLVERSION, 1);

        //CURL_SSLVERSION_TLSv1

    }

    curl_setopt($oCurl, CURLOPT_URL, $url);

    curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);

    $sContent = curl_exec($oCurl);

    $aStatus = curl_getinfo($oCurl);

    curl_close($oCurl);

    if (intval($aStatus) == 200) {

        return $sContent;

    } else {

        return false;

    }

}

post方法

    // curlpost请求

    function http_post($url, $data = NULL, $json = false)

    {

        $curl = curl_init();

        curl_setopt($curl, CURLOPT_URL, $url);

        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

        if (!empty($data)) {

            if ($json && is_array($data)) {

                $data = json_encode($data);

            }

            curl_setopt($curl, CURLOPT_POST, 1);

            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

            if ($json) { //发送JSON数据

                curl_setopt($curl, CURLOPT_HEADER, 0);

                curl_setopt(

                    $curl,

                    CURLOPT_HTTPHEADER,

                    array(

                        ’Content-Type: application/json; charset=utf-8’,

                        ’Content-Length:’ . strlen($data)

                    )

                );

            }

        }

        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

        $res = curl_exec($curl);

        $errorno = curl_errno($curl);

        if ($errorno) {

            return array(’errorno’ =》 false, ’errmsg’ =》 $errorno);

        }

        curl_close($curl);

        return json_decode($res, true);

    }

210629:Linux中使用curl命令发送带参数的get请求和post请求-Redis中常用命令

curl命令 + 请求接口的地址

如果想看到详细的请求信息,可以加上 -v 参数

结果如下:

可以用 -X POST 来申明我们的请求方法,用 -d 参数,来传送我们的参数。

所以,我们可以用 -X PUT 和 -X DELETE 来指定另外的请求方法。

上面就是一个普通的 post带两个参数请求

但是,当我们的接口都是 json 格式的时候,我们可以用 -H 参数来申明请求的 header

我们可以用 -H 来设置更多的 header ,同样,我们也可以用 -v 来查看详细的请求信息

上面的两种请求,都是只传输字符串数据

通常我们的开发过程中也需要使用POST接口上传文件

我们添加参数 -F “file=@FILE_PATH“ 传输文件即可。命令如下:

redis 查看keys 的有效期:

全量遍历键

docker进入redis客户端

java里怎么使用curl命令上传文件

java中使用curl命令上传文件的使用方式如下:
curl -F “filename=@/home/test/file.tar.gz“
url -d “action=del&name=archer“ -d “id=12“ http://localhost/action.php

如何使用curl发送post数据

可用我的函数。
public function post($url, $post_data) {
$this-》_ch = curl_init();
curl_setopt($this-》_ch, CURLOPT_USERAGENT, ’Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0’);
curl_setopt($this-》_ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($this-》_ch, CURLOPT_MAXREDIRS, 5);
curl_setopt($this-》_ch, CURLOPT_HEADER, 0);
curl_setopt($this-》_ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($this-》_ch, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt($this-》_ch, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt($this-》_ch, CURLOPT_ENCODING, ““ );
curl_setopt($this-》_ch, CURLOPT_POST, TRUE);
curl_setopt($this-》_ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($this-》_ch, CURLOPT_COOKIEFILE, getcwd () . ’/cookie.txt’ );
curl_setopt($this-》_ch, CURLOPT_COOKIEJAR, getcwd () . ’/cookie.txt’ );
curl_setopt($this-》_ch, CURLOPT_URL, $url);
$this-》_body = curl_exec($this-》_ch);
$this-》_info = curl_getinfo($this-》_ch);
$this-》_error = curl_error($this-》_ch);
curl_close($this-》_ch);
}

cURL进行HTTPS连接POST数据,数据怎样输入

PHP 下
function vpost($url,$data){ // 模拟提交数据函数
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo ‘Errno’.curl_error($curl);//捕抓异常
}
curl_close($curl); // 关闭CURL会话
return $tmpInfo; // 返回数据
}
$url = “
右键点项目名字,Add New Item-》C++ File, name写main.c, 输入代码:
/* 抱歉,这里不好贴链接,版权没法贴,版权去看http-post.c */
#include 《stdio.h》
#include 《curl/curl.h》
#include 《stdlib.h》
int main(void)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
/* First set the URL that is about to receive our POST. This URL can
just as well be a https:// URL if that is what should receive the
data. */
curl_easy_setopt(curl, CURLOPT_URL, “这里写网址“);
/* Now specify the POST data */
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, “name=daniel&project=curl“);
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
system(“pause“);
}
return 0;
}

curl命令行 get/post请求

GET请求:

curl -X GET –header’Accept: application/json’’http://XXX?phone=XXX&content=XXX’

POST请求:

curl -X POST –header’Content-Type: application/json’–header’Accept: application/json’-d’{“phone“:“XXX“,“content“:“XXX“}’’http://XXX’

Curl 命令

一、基础请求
1、Get 请求
命令格式: curl requesturl
例如: curl https://kunpeng.csdn.net/ad/template/161?positionId=427

2、Post 请求
命令格式: curl -X POST requesturl
例如: curl -X POST https://msg.csdn.net/v1/web/message/view/unread

二、指定ip发送请求
1、http命令格式:
curl -H ’Host:requestHost’ http://ip:port/requestPath
或 curl -x ip:port http://requestHost/requestPath
例如:
curl -H ’Host:kunpeng.csdn.net’ http://101.201.173.208:80/ad/template/161?positionId=427
curl -x ’101.201.173.208:80’ http://kunpeng.csdn.net/ad/template/161?positionId=427

2、https命令格式:
curl -H ’Host:requestHost’ https://ip/requestPath
或 curl ip https://requestHost/requestPath -k
例如:
curl -H ’Host:kunpeng.csdn.net’ https://101.201.173.208/ad/template/161?positionId=427 -k
curl ’101.201.173.208’ https://kunpeng.csdn.net/ad/template/161?positionId=427 -k

三、带参数的POST请求
命令格式:

1、head请求参数用 -H表示(一个横杆)
2、如果命令需要换行,在换行处加 反斜杠
3、body请求参数用 –data表示(两个横杆);请求内容有引号时,加反斜杠\

例如:

如何用Curl 来post xml 数据

经过一番查找,终于找到了curl使用post的命令:
echo ’《?xml version …》’|curl -X POST -H ’Content-type:text/xml’ -d @-
例子:
Request:
echo ’《?xml version=“1.0“ encoding=“utf-8“ ?》《user》……《/user》’|curl -X POST -H ’Content-type:text/xml’ -d @- http://10.206.30.32:8081/loginregistration/register
Response:
《?xml version=“1.0“ encoding=“UTF-8“ standalone=“yes“?》《user》……《/user》
做相关判断,就可以知道业务是否正常

使用curl和wget发送post请求

wget

wget –post-data=“user=user1&pass=pass1&submit=Login“ http://domain.com/path/page_need_login.php

2.curl (可直接发送格式化请求例如json)

提交json数据需要加header,否则需’json={“phone“:“13521389587“,“password“:“test“}’

curl -H “Content-type: application/json“ -X POST -d ’{“phone“:“13521389587“,“password“:“test“}’ http://domain/apis/users.json

普通请求

curl $URL -d “2880=105&pid=2880&p=最佳&count=1&receipt=1&poll=投票“

结果

Array

(

)

如何用Curl 来post xml 数据

因为登陆服务升级,密码策略变更,以前的测试脚本中的用户密码已经不能登陆,试图通过API直接更改密码,一种是直接update,一种是change,使用curl的时候均未成功。
最后索性重新用curl命令创建新的用户,一番摸索下来,注册用户仅支持私有端口。剩下的问题就是如何使用curl来postxml 文件。
经过一番查找,终于找到了curl使用post的命令:
view plaincopy
echo ’《?xml version …》’|curl -X POST -H ’Content-type:text/xml’ -d @- 10.206.30.32:8081/loginregistration/register
其中《?xml version …》就是要post的xml 文件,8081是私有端口。
例子:
Request:
view plaincopy
echo ’《?xml version=“1.0“ encoding=“utf-8“ ?》《user》……《/user》’|curl -X POST -H ’Content-type:text/xml’ -d @- 10.206.30.32:8081/loginregistration/register
Response:
view plaincopy
《?xml version=“1.0“ encoding=“UTF-8“ standalone=“yes“?》《user》……《/user》