A. php curl 302问题
有时候我们需要获取curl 302正在跳转的网址,一般我们是无法获取的,只能让他自动跳转或手动跳转,有些服务器也不支持curl自动跳转。
所以我们才想方法让他返回需要跳转的网址。
网上找了很久,也没有相关的答案。
然后再想想CURL有一个可以显示HEADER的参数。
我们可以使用HEADER参数返回将要被跳转网址,通过以下CURL函数可以实现Curl POST 302自动跳转获取URL方法
B. php===>post带参数跳转
好绕口,post可以在当前页面提交处理的。不必post到新页面。
另外,你可以了解一下ajax
ajax简单示例
a页面
$(function(){
$.ajax({
url: "ajax_php.php",
type: "POST",
data:{trans_data:"要传输的内容"},
error: function(){
alert('Error loading XML document');
},
success: function(data,status){//如果调用php成功
alert(unescape(data));//解码,显示汉字
}
});
});
ajax处理页面
$backValue=$_POST['trans_data'];
echo $backValue."+后台返回";
上面只是例子
C. php curl如何直接转发当前php接收的headersget请求如何直接转发get参数post请求如何直接转发post参数
本文实例讲述了php使用CURL模拟GET与POST向微信接口提交及获取数据的方法。分享给大家供大家参考,具体如下:
php CURL函数可以模仿用户进行一些操作,如我们可以模仿用户提交数据也可以模仿用户进行网站访问了,下面我们来介绍利用CURL模拟进行微信接口的GET与POST例子,例子非常的简单就两个:
Get提交获取数据
/**
* @desc 获取access_token
* @return String access_token
*/
function getAccessToken(){
$AppId = '1232assad13213123';
$AppSecret = '2312312321adss3123213';
$getUrl = 'htq.com/cgi-bin/token?grant_type=client_credential&appid='.$AppId.'&secret='.$AppSecret;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $getUrl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURL_SSLVERSION_SSL, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$data = curl_exec($ch);
$response = json_decode($data);
return $response->access_token;
}
post提交获取数据
/**
* @desc 实现天气内容回复
*/
public function testWeixin(){
$access_token = $this->getAccessToken();
$customMessageSendUrl = 'ht.qq.com/cgi-bin/message/custom/send?access_token='.$access_token;
$description = '今天天气的详细信息(从第三方获取)。';
$url = ttpr.com/';
$picurl = 'her.com/';
$postDataArr = array(
'touser'=>'OPENID',
'msgtype'=>'news',
'news'=>array(
'articles'=>array(
'title'=>'当天天气',
'description'=>$description,
'url'=>$url,
'picurl'=>$picurl,
),
),
);
$postJosnData = json_encode($postDataArr);
$ch = curl_init($customMessageSendUrl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postJosnData);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$data = curl_exec($ch);
var_mp($data);
}
例子相对来说比较简单也没有什么好详细分析的了,大家照抄就可以实现我们想要的功能了.
D. PHP 用CURL POST后获取cookis并跳转到另一个页面
无法实现
php在服务器上用curl取得的cookies是存在于php程序所保存的位置
通过php登陆,php可以用这个cookies来访问管理界面,这个没有问题。
但是如果你用了header("Location: ......"),就不行了。网址转向以后,是访问者浏览器去访问,浏览器并没办法获取到你所保存的cookies,浏览器里没有登陆的cookies,所以不能“直接”打开管理界面,必须要重新登陆才行。
如果你用setcookie,你所设置的cookies对应的域名也不对,不能跨域,所以还是得再次在浏览器内登陆。
除非在“管理界面”端写一个api,通过调用这个api,把cookies写进访问者的浏览器里面。
E. PHP 用curl 如何跳转页面
简单的就用自身提交到本页,提交代码写在本页里。负责的就用Ajax来实现,无刷新技术。
F. php curl 模拟post表单向提交数据
不需要抓取数据的话,就只要分析一下对方网站表单需要的字段,然后把action的地址改成对方网站的就提交路径就行了,但如果对方网站提交时要获取cookie的话才需要用curl
G. php把值传入到下一个跳转的页面用那种方法
当你成功插入后,mysql_insert_id来获取刚插入的id
header(‘Location:xx.php?id='.mysql_insert_id());
在xx.php(这个xx.php是你跳转的页面,你自己指定)页面用$_GET['id']把值获取到,再从数据库里查出来
H. PHP curl抓取post重定向链接
两处修改:
1.
'seq' => 'asdasdasd‘, 改成
'sequence' => 'asdasasd',
2. 链接在你贴的链接后面再加combfunc_submit.cgi
结果是那个网址加~mwass/combfunc/combfunc_report.cgi?jobid=
I. 请教高手关于php中用curl向https:// post数据的问题
呵呵,https一般是443端口,你没指定端口,当然不成了。。。。你用的是默认的80端口啊
J. PHP中怎样发送post请求并获取网页
$post='POST数据';
//初始化
$curl=curl_init('URL');
$header=array();
$header[]='User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/42.0.2311.90Safari/537.36';
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
//不输出header头信息
curl_setopt($curl,CURLOPT_HEADER,0);
//保存到字符串而不是输出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//post数据
curl_setopt($curl,CURLOPT_POST,1);
//请求数据
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
//是否抓取跳转后的页面
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
$response=curl_exec($curl);
curl_close($curl);
echo$response;