php 传递raw格式数据请求接口
php吧
全部回复
仅看楼主
level 3
最近跟京东合作,对接京小康,跟他们交流后明白 php这边得以raw格式的数据区请求他们的接口
网上也搜索了一些例如下面
function http_post($url, $data_string) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-AjaxPro-Method:ShowList',
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen($data_string))
);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
还是请求不到,请求参数是没问题的 postman测试过可以获取到数据
又查到了一个是这样的
function curls($url, $data_string) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-AjaxPro-Method:ShowList',
'User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36' ));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
不出所料依然失败,网上也搜了半天没有其他的说明了,在此请教万能的吧友们解决一下在此拜谢了
2020年03月24日 02点03分 1
level 3
没人吗
2020年03月24日 05点03分 2
level 6
curl请求失败得有错误码吧,你打印下错误码看看,然后百度错误码
2020年03月24日 05点03分 3
level 6
请问大佬解决了么?我这跟一个java对接接口也是需要raw啥的..也是在网上找一堆,不是他返回服务异常就是一片空白,,用postman就好使..请问大佬咋解决的,给指教一波呗,谢谢
2020年05月21日 12点05分 4
level 3
请求了一位大神,还是请求头的问题 话不多说附上代码
public function SendDataByCurl($url,$post = '',$json = false,$header = array()) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
//curl_setopt($curl, CURLOPT_HEADER, 0);
//curl_setopt($curl, CURLOPT_TIMEOUT, 10);
if ($post) {
curl_setopt($curl, CURLOPT_POST, 1);
}else{
curl_setopt($curl, CURLOPT_POST, 0);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
if ($json){
$header = array_merge($header,array(
'Content-Type: application/json',
//'Content-Length: ' . strlen($post)
)
);
}
if (!empty($header)) {
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
if (curl_errno($curl)) {
return 'Errno'.curl_error($curl);
}
curl_close($curl);
return $result;
}
2020年07月02日 07点07分 6
level 1
这个也不对啊
2021年07月17日 08点07分 8
1