问题描述

需要向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相关推荐

  1. php curl for win7_解决windows7X64环境下开启PHP_Curl wamp curl PHP开启CURL无反应

    windows7系统64bit环境下wamp开启curl php开启curl无反应,或者php程序显示Call to undefined function curl_init()错误,在百度和谷歌里搜 ...

  2. php curl ssr,php curl模拟登陆

    $url="url地址"; $post_file="username=xxx&password=xxx"; $cookie_jar = dirname( ...

  3. curl服务器文件,curl 向远程服务器传输file文件

    public function upload(){ //获取上传文件信息,文件名称以自己实际上传文件名称为准 $fileinfo = $_FILE['filename']; //请求参数,依据商户自己 ...

  4. PHP中使用CURL之php curl详细解析和常见大坑

    这篇文章主要介绍了PHP中使用CURL之php curl详细解析和常见大坑 ,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 七夕啦,作为开发,妹子没得撩就"撩"下服务器 ...

  5. curl报错 curl: option --form: is badly used here

    执行curl上传文件 curl --location --request POST 'http://192.168.65.220:19999/upfile/' \ --form '=@"/C ...

  6. linux curl没有内容,curl在tcpdump中没有显示输出

    我正在尝试使用tcpdump诊断网络问题.我运行命令 tcpdump -i eth0 -nS host nameless.host.io 当我发出traceroute或ping命令来命中nameles ...

  7. php+curl+restapi,php – cURL适用于我的REST API,但不是Guzzle

    我正在尝试使用Guzzle将我的Laravel框架连接到我的服务器.每个GET请求没有参数,但我遇到POST问题. 这个使用cURL的请求工作正常: curl -i -X POST -H 'Conte ...

  8. php 接收curl json数据格式,curl发送 JSON格式POST数据的接收,以及在yii2框架中的实现原理【精细剖析】...

    1.通过curl发送json格式的数据,譬如代码: function http_post_json($url, $jsonStr) { $ch = curl_init(); curl_setopt($ ...

  9. windows下使用curl以及常用curl命令

    什么是curl命令 curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 如何在window ...

  10. php curl viewstate,php curl – 发布asp.net viewstate值

    我有以下代码从本地站点登录表单(用 PHP编写)登录到外部站点应用程序(asp.net app): $curl_connection = curl_init('www.external.com/log ...

最新文章

  1. python主要学哪些课程_Python学习课程大纲自学Python参考
  2. model1模式变为mv模式,实现业务逻辑和画面的分离
  3. Servlet 异常处理
  4. tvnewpro 病毒清除
  5. 数字调相用计算机实现的步骤,第2章数据通信习题
  6. leetcode 将包含 n 个元素的数组向右旋转 k 步
  7. 控制項學習三(從繼承開始)
  8. post获取重定向的链接 python_【转载】python面试基础知识(四) 网络部分
  9. tail将输出的日志放到文件中_如何将Spring Boot应用中日志输出格式改为JSON?
  10. 好程序员前端教程之JavaScript闭包和匿名函数的关系详解...
  11. 手机APP脚本录制(LoadRunner 12)
  12. 【IIOT】欧姆龙PLC数采之CP2E
  13. 乐优商城(02)--商品分类
  14. c语言中指针几个字节,【C++】一个指针占几个字节?为什么呢?
  15. CAN负载率为什么不能太高?
  16. JAVA射线_射线法 - 萌德真帅 - 博客园
  17. 利用米筐量化回测平台实行量化炒股
  18. Linux的基本指令(一):常用基础指令
  19. Mask2Former源码解析
  20. root精灵华为解锁,华为刷机精灵解锁

热门文章

  1. linux删除0字节的文件,如何在linux中删除许多0字节的文件?
  2. python中paste函数_PIL图像处理模块paste方法简单使用详解
  3. 力扣——合并两个有序数组
  4. appendChild+insertBefore:创建和添加节点
  5. Swiper 在vue中的使用,loop=true获取真实index,数据更新刷新初始化swiper
  6. JavaScript:异步执行机制
  7. 用python建云盘_实用的Python(3)超简单!基于Python搭建个人“云盘”
  8. 整理Java基础知识--Date Time2
  9. 会自动消失的提示信息
  10. 【李宏毅2020 ML/DL】P16 PyTorch Tutorial | 最后提及了 apex.amp