</pre><pre name="code" class="php"><?php
$ch = curl_init();//初始化
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Cookie:jsessionid=410D5C5A133CB3B00D308F42A106B713"));//发送头信息,如果远程服务器需要session,可以用这种方式伪造
curl_setopt($ch, CURLOPT_URL, "http://www.jtyhjy.com/sts/initPage_initQuestionPageForKnowledge.action");//请求地址
curl_setopt($ch, CURLOPT_POSTFIELDS, array('disciplineCode'=>'1','disciplineId'=>'20','disciplineType'=>'2'));//POST的数据
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//如果设置为true,cure_exec()将以文件流返回,而不是直接输出到浏览器
$data = curl_exec($ch);//返回json格式的字符串
$data = json_decode($data,true);//第二个参数缺省的话,json_decode 返回json对象,为true返回数组
?>
在curl_exec($ch) 执行后加入 curl_error($ch) 方法可获取 curl 的错误信息,
如果出现错误提示:
Problem (2) in the Chunked-Encoded data!!!
可在curl_exec 前 加入:
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);可解决,具体原理不清楚

本文详细介绍了如何使用PHP的cURL库进行HTTP请求,并在遇到特定错误时如何获取并解决错误信息。通过实例演示了如何伪造Cookie以适应某些网站的需求,以及在请求中包含POST数据。重点解释了在请求执行后如何检查错误,并提供了解决特定错误代码的方法。
412

被折叠的 条评论
为什么被折叠?



