V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
shadowaix
V2EX  ›  PHP

PHP CURL 模拟请求

  •  
  •   shadowaix · Jul 31, 2017 · 3914 views
    This topic created in 3204 days ago, the information mentioned may be changed or developed.

    大佬求指导

    我想在本地用 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 直接读取,无果

    求大神指导。。。。

    9 replies    2017-08-03 08:38:16 +08:00
    RLib
        1
    RLib  
       Jul 31, 2017
    2 确定文件写入成功了没
    3 直接用 CURLOPT_COOKIE 设置应该没问题,是不是不完整
    vonsy
        2
    vonsy  
       Jul 31, 2017   ❤️ 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;
    }
    ~~~~
    shadowaix
        3
    shadowaix  
    OP
       Jul 31, 2017
    @vonsy 万分感谢!没想到可以把 postman 的参数也带进去,学习了。非常感谢! XD
    shadowaix
        4
    shadowaix  
    OP
       Jul 31, 2017
    @RLib 谢谢帮助,写法都是 OK 的,是思路出错了。
    ahu
        5
    ahu  
       Jul 31, 2017
    @vonsy 没理解你的意思

    你是说这段代码是 pm 自己生成的?还是你手动写的?
    vonsy
        6
    vonsy  
       Jul 31, 2017   ❤️ 2
    @ahu 右侧的 Code, 窗口 GENERATE CODE SNIPPETS, 左侧可以转换成各种语言 /类型的请求

    http://photo.weibo.com/1421169327/wbphotos/large/mid/4135720731319336/pid/54b552afly1fi3i2ilwohj21kw0zkq8c
    ahu
        7
    ahu  
       Aug 2, 2017
    @vonsy 哇哦,新技能 get! 谢了!
    carlclone
        8
    carlclone  
       Aug 3, 2017 via Android
    @vonsy get
    947211232
        9
    947211232  
       Aug 3, 2017
    @vonsy get
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1058 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 18:36 · PVG 02:36 · LAX 11:36 · JFK 14:36
    ♥ Do have faith in what you're doing.