这篇文章给大家分享的是有关php curl无法post的解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
php curl无法post的解决办法:1、打开相应的PHP代码文件;2、通过“$post_data = "username=bob&key=12345";$response = http_req(...)”方式提交数据即可。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php curl post提交数据失败解决方法
代码如下:
function http_req($http_type, $method, $url, $data)
{
$ch = curl_init();
if (strstr($http_type, 'https')) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
}
if ($method == 'post') {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
} else {
$url = $url . '?' . $data;
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100000);//超时时间
try {
$ret = curl_exec($ch);
} catch (Exception $e) {
curl_close($ch);
return json_encode(array('ret' => 0, 'msg' => 'failure'));
}
curl_close($ch);
return $ret;
}
//第一种提交方式在遇到post_data 中包含@等一些符号时会出现提交失败的情况
$url = "http://localhost/web_services.php";
$post_data = array ("username" => "bob","key" => "12345");
$response = http_req('http', 'post', $url, $post_data );
//第二种提交方式可以避免
$url = "http://localhost/web_services.php";
$post_data = "username=bob&key=12345";
$response = http_req('http', 'post', $url, $post_data );
感谢各位的阅读!关于“php curl无法post的解决方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。