curl 命令行使用 发送json 提交表单 上传文件 php curl post 测试注册

* curl POST JSON

curl "http://192.168.4.157:8060/v1/validate/getcode" -X POST -d '{"mobilenumber":"18771099612"}' -H "Content-Type:application/json" -v

* curl POST Form

curl "http://192.168.4.157:8060/v1/validate/getcode" -X POST -d 'mobilenumber=13691150835' -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" -v

*curl upload file

curl localhost:8000/api/v1/upimg -F "file=@/Users/fungleo/Downloads/401.png" -H "token: 222" -v

 

* register.php

 $username, // 'putongj4',
    'userpwd' => $password,
    'userfigure' => 0, // MockValue::pick(['0', '1']),
    'grade' => MockValue::getGradeValue(),
    'mobile' => "15654466917",  // MockValue::getMobile(),
	'verifycode_sms' => '719699',
    'gradetype' => '1',
    'areainfo' => MockValue::getArea(), // '山西_长治_长子县',
    // 'luckdrawcode' => md5(sprintf("%s%djiandan100", $username, time())),
    'specialcode' => MockValue::getNumber(6),
    'sourcetype' => '2',
	'app' => 1,
	'sourcechannel' => rand(3, 37),
    "mobilebind" => "1",
];

$postdata = build_query($a);
// echo $postdata.PHP_EOL;

array_push($headers, sprintf("Content-Length: %d", strlen($postdata)));

curl_setopt_array($ch, [
    // CURLOPT_URL => 'http://172.16.0.224:8060/v1/reg', // request URL
    CURLOPT_URL => 'http://192.168.4.157:8060/v1/reg', // request URL
    CURLOPT_HEADER => 1,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_POST => 1,
    CURLOPT_BINARYTRANSFER => 1,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => $postdata,
	CURLOPT_CONNECTTIMEOUT => 3,
]);

$data = curl_exec($ch);
if (curl_errno($ch)) {
	$msg = curl_error($ch);
	printf("%s\n", $msg);
} else {
	printf("%s\n", $data);
	
	// write token  o.data.token
    $body = extract_http_body($data, "\r\n\r\n");
    // printf("body=[%s]\n", $body);
    $json = json_decode($body, false);
    // if (is_object($json) && $json->code == 0) {
	if ($json->code == 0) {
        file_put_contents("token.txt", $json->data->token);
    }
}
curl_close($ch);



* ./lib/MockValue.php

地区json 参照 https://blog.csdn.net/fareast_mzh/article/details/89083909

 

php 接收json格式数据

php -S 0.0.0.0:8089

 

测试发送json

curl -i -X POST -d '{c:3,d:[{"name1":"value1"},{"name2":"value2"]}' -H "Content-Type: application/json" http://47.93.27.106:8089/input.php?a=1

输出:

HTTP/1.1 200 OK
Host: 47.93.27.106:8089
Date: Thu, 18 Jul 2019 09:45:51 GMT
Connection: close
X-Powered-By: PHP/7.3.6
Content-type: text/html; charset=UTF-8

string(46) "{c:3,d:[{"name1":"value1"},{"name2":"value2"]}"

 

你可能感兴趣的:(http)