c php curl post,php curl post
问题描述
需要向xx网站提交一个数据,但是java和python那边都成功了,而php不行
问题出现的环境背景及自己尝试过哪些方法
步骤就俩,1 curl get获得token 2 组装数据,提交post,问题出现在第二步上,返回值为空
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
header("content-type:text/html;charset=utf8");
//复用
$ch = curl_init();
function request($url,$post='',$headers)
{
global $ch;
//$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if($post) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
if($post){
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
return curl_exec($ch);
}
$mcId = "mobi02-cdwl-s226";
#获取token
$url = "https://e.pingan.com/pa18shoplife/details/out/ob/qnyc-jynj/quote.jsp";
$headers = array('user-agent:Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Mobile Safari/537.36');
$file = request($url,'',$headers);
$from = '';
$message=explode($from,$file);
$message=explode($end,$message[1]);
$token = $message[0];
#伪造请求
$url = "https://e.pingan.com/pa18shoplife/engine.ajax?flowId=&reqId=_details_out_ob_qnyc-jynj_quote_jsp_quoteReq4&WT.mc_id=mobi02-cdwl-s226-xqb";
$body = "{\"reflowId\": \"\", \"lifeDatas\": {\"mediaSource\": \"mobi02-cdwl-s226-xqb\", \"tbhuomian\": \"0\", \"yiliaobxj\": \"0\", \"jibingbx\": \"0\", \"jibingSums\": \"0\"}, \"createFlow\": \"true\", \"policyExtendDTO\": {\"businessLine\": \"ob\"}, \"pid\": \"8000002081\", \"appPlanDTO\": [{\"payPeriod\": \"10\", \"sumIns\": \"100000\"}], \"tokenData\": \"". $token . "\", \"insurantDTO\": [{\"birth\": \"2016-04-22\", \"sex\": \"M\"}], \"policyDTO\": {\"paymentType\": \"2\"}, \"insurerDTO\": {\"mobile\": \"15890312027\"}}";
$headers = array('X-Custom-header:stuff','content-type:application/json');
$result = request($url,$body,$headers);
print_r($result);exit();
以下为java请求成功的代码:
private static void fluent() {
try {
String res = Request.Get("https://e.pingan.com/pa18shoplife/details/out/ob/qnyc-jynj/quote.jsp")
.addHeader("user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Mobile Safari/537.36")
.execute().returnContent().asString();
JXDocument document = JXDocument.create(Jsoup.parse(res));
List list = document.selN("//*[@id=\"tokenData\"]");
String url = "https://e.pingan.com/pa18shoplife/engine.ajax?flowId=&reqId=_details_out_ob_qnyc-jynj_quote_jsp_quoteReq4&WT.mc_id=mobi02-cdwl-s226-xqb";
String bodys = "{\"reflowId\": \"\", \"lifeDatas\": {\"mediaSource\": \"mobi02-cdwl-s226-xqb\", \"tbhuomian\": \"0\", \"yiliaobxj\": \"0\", \"jibingbx\": \"0\", \"jibingSums\": \"0\"}, \"createFlow\": \"true\", \"policyExtendDTO\": {\"businessLine\": \"ob\"}, \"pid\": \"8000002081\", \"appPlanDTO\": [{\"payPeriod\": \"10\", \"sumIns\": \"100000\"}], \"tokenData\": \""
+ list.get(0).asElement().attr("value") + "\", \"insurantDTO\": [{\"birth\": \"2016-04-22\", \"sex\": \"M\"}], \"policyDTO\": {\"paymentType\": \"2\"}, \"insurerDTO\": {\"mobile\": \"15890312027\"}}";
StringEntity stringEntity = new StringEntity(bodys, "utf-8");
String res2 = Request.Post(url)
.addHeader("X-Custom-header", "stuff")
.addHeader("content-type", "application/json")
.version(HttpVersion.HTTP_1_1)
.bodyString("Important stuff", ContentType.DEFAULT_TEXT)
.body(stringEntity)
.execute().returnContent().asString();
System.out.println("DD" + res2);
} catch (Exception e) {
e.printStackTrace();
}
}
你期待的结果是什么?实际看到的错误信息又是什么?
个人对java不太了解,有没有大佬能看出php部分是有什么问题的
c php curl post,php curl post相关推荐
- php curl for win7_解决windows7X64环境下开启PHP_Curl wamp curl PHP开启CURL无反应
windows7系统64bit环境下wamp开启curl php开启curl无反应,或者php程序显示Call to undefined function curl_init()错误,在百度和谷歌里搜 ...
- php curl ssr,php curl模拟登陆
$url="url地址"; $post_file="username=xxx&password=xxx"; $cookie_jar = dirname( ...
- curl服务器文件,curl 向远程服务器传输file文件
public function upload(){ //获取上传文件信息,文件名称以自己实际上传文件名称为准 $fileinfo = $_FILE['filename']; //请求参数,依据商户自己 ...
- PHP中使用CURL之php curl详细解析和常见大坑
这篇文章主要介绍了PHP中使用CURL之php curl详细解析和常见大坑 ,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 七夕啦,作为开发,妹子没得撩就"撩"下服务器 ...
- curl报错 curl: option --form: is badly used here
执行curl上传文件 curl --location --request POST 'http://192.168.65.220:19999/upfile/' \ --form '=@"/C ...
- linux curl没有内容,curl在tcpdump中没有显示输出
我正在尝试使用tcpdump诊断网络问题.我运行命令 tcpdump -i eth0 -nS host nameless.host.io 当我发出traceroute或ping命令来命中nameles ...
- php+curl+restapi,php – cURL适用于我的REST API,但不是Guzzle
我正在尝试使用Guzzle将我的Laravel框架连接到我的服务器.每个GET请求没有参数,但我遇到POST问题. 这个使用cURL的请求工作正常: curl -i -X POST -H 'Conte ...
- php 接收curl json数据格式,curl发送 JSON格式POST数据的接收,以及在yii2框架中的实现原理【精细剖析】...
1.通过curl发送json格式的数据,譬如代码: function http_post_json($url, $jsonStr) { $ch = curl_init(); curl_setopt($ ...
- windows下使用curl以及常用curl命令
什么是curl命令 curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 如何在window ...
- php curl viewstate,php curl – 发布asp.net viewstate值
我有以下代码从本地站点登录表单(用 PHP编写)登录到外部站点应用程序(asp.net app): $curl_connection = curl_init('www.external.com/log ...
最新文章
- python主要学哪些课程_Python学习课程大纲自学Python参考
- model1模式变为mv模式,实现业务逻辑和画面的分离
- Servlet 异常处理
- tvnewpro 病毒清除
- 数字调相用计算机实现的步骤,第2章数据通信习题
- leetcode 将包含 n 个元素的数组向右旋转 k 步
- 控制項學習三(從繼承開始)
- post获取重定向的链接 python_【转载】python面试基础知识(四) 网络部分
- tail将输出的日志放到文件中_如何将Spring Boot应用中日志输出格式改为JSON?
- 好程序员前端教程之JavaScript闭包和匿名函数的关系详解...
- 手机APP脚本录制(LoadRunner 12)
- 【IIOT】欧姆龙PLC数采之CP2E
- 乐优商城(02)--商品分类
- c语言中指针几个字节,【C++】一个指针占几个字节?为什么呢?
- CAN负载率为什么不能太高?
- JAVA射线_射线法 - 萌德真帅 - 博客园
- 利用米筐量化回测平台实行量化炒股
- Linux的基本指令(一):常用基础指令
- Mask2Former源码解析
- root精灵华为解锁,华为刷机精灵解锁
热门文章
- linux删除0字节的文件,如何在linux中删除许多0字节的文件?
- python中paste函数_PIL图像处理模块paste方法简单使用详解
- 力扣——合并两个有序数组
- appendChild+insertBefore:创建和添加节点
- Swiper 在vue中的使用,loop=true获取真实index,数据更新刷新初始化swiper
- JavaScript:异步执行机制
- 用python建云盘_实用的Python(3)超简单!基于Python搭建个人“云盘”
- 整理Java基础知识--Date Time2
- 会自动消失的提示信息
- 【李宏毅2020 ML/DL】P16 PyTorch Tutorial | 最后提及了 apex.amp