大佬求指导
我想在本地用 CURL 模拟这个请求:
http://ups.youku.com/ups/get.json?vid=XMTQ4ODM5Mjk2MA==&ct=10&ccode=0502&client_ip=0.0.0.0&utid=Ga3jEdWulXoCAXZwOs6IYOEY&client_ts=1501211617
用 postman (开启 interceptor ),加入 header ( Referer: http://static.youku.com/)请求正常返回数据。
但是在本地用 CURL 模拟的时候无法获得数据
已经做过如下尝试:
1,清除浏览器 cookies,postman 依然可以返回数据
2,如果与 cookie 有关,用下面的方式获取不到优酷相关 cookies
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
3,模拟优酷 cookies 直接读取,无果
求大神指导。。。。
1
RLib 2017-07-31 17:09:27 +08:00
2 确定文件写入成功了没
3 直接用 CURLOPT_COOKIE 设置应该没问题,是不是不完整 |
2
vonsy 2017-07-31 17:09:52 +08:00 1
postman 可以转换成各种请求格式.
~~~~ <?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "http://ups.youku.com/ups/get.json?vid=XMTQ4ODM5Mjk2MA%3D%3D&ct=10&ccode=0502&client_ip=0.0.0.0&utid=Ga3jEdWulXoCAXZwOs6IYOEY&client_ts=1501211617", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", "postman-token: 88976d57-03fd-7950-6c65-9d0f191010dc", "referer: http://static.youku.com/" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; } ~~~~ |
6
vonsy 2017-07-31 23:49:57 +08:00 2
@ahu 右侧的 Code, 窗口 GENERATE CODE SNIPPETS, 左侧可以转换成各种语言 /类型的请求
http://photo.weibo.com/1421169327/wbphotos/large/mid/4135720731319336/pid/54b552afly1fi3i2ilwohj21kw0zkq8c |